草庐IT

通过Java操作Kafka

全部标签

ssl - 通过 DNS 对多个子域和 IP 地址使用 autocert

我有两台独立的服务器,它们使用相同的域名和不同的前缀,一台做一些应用程序的事情,另一台做文件共享。使用autocert包,我如何才能配置证书管理器来生成我可以在两台服务器上使用的证书? 最佳答案 将两个域添加到证书管理器白名单:certManager:=autocert.Manager{Prompt:autocert.AcceptTOS,HostPolicy:autocert.HostWhitelist("domain.me","filesharing.domain.me"),//YourdomainhereCache:autoce

go - Golang Consumer连接Kafka后延迟接收Kafka消息

我是Golang和Kafa的新手,所以这似乎是一个愚蠢的问题。在我的Kafka消费者首次连接到Kafka服务器后,为什么在与Kafka服务器建立连接和接收第一条消息之间存在延迟(约20秒)?它在consumer.Messages()之前打印一条消息,并为收到的每条消息打印另一条消息。大约20秒的延迟在第一个fmt.Println和第二个fmt.Println之间。packagemainimport("fmt""github.com/Shopify/sarama"cluster"github.com/bsm/sarama-cluster")funcmain(){//Createtheco

go - 通过 Golang 记录器写入日志

我正在尝试使用log.Logger编写日志,我的代码如下所示。我不明白为什么我的日志可以在initLog函数中使用Error写入,但在main函数中它不能写入日志文件。谁能帮我解释一下?谢谢。packagemainimport("log""net/http""os")const(PORT=":8081")var(Error*log.Logger)funcinitLog(){errorFile,err:=os.OpenFile("error.log",os.O_RDWR|os.O_APPEND,0660)defererrorFile.Close()iferr!=nil{log.Fatal

Golang segmentio/kafka-go 消费者不工作

我正在使用segmentio/kafka-go连接到卡夫卡。//toproducemessagestopic:="my-topic"partition:=0conn,_:=kafka.DialLeader(context.Background(),"tcp","localhost:9092",topic,partition)conn.SetWriteDeadline(time.Now().Add(10*time.Second))conn.WriteMessages(kafka.Message{Value:[]byte("one!")},kafka.Message{Value:[]byt

go - 在 go worker/event 系统中,worker 是否应该访问相同的结构(通过指针)来工作?

我是初学者gopher,我为我正在从事的项目编写了一个事件监听器工作队列。我已将其部署在临时服务器上。在触发大约100个事件后,监听器将在事件发布时停止调用。服务器也没有崩溃。这是我的实现://EventstructtypeEventstruct{NamestringDatainterface{}}//Streamtopublisheventstovarstream=make(chan*Event,100)//PublishsendsneweventdatatothestreambytheeventnamefuncPublish(namestring,datainterface{}){

go - 通过 jenkins 部署 go 应用程序

我刚刚创建了两个EC2实例,一个使用Jenkins,一个用于go应用程序。我设法创建了一个节点和一个协同工作的作业,在开始构建go应用程序的作业后,我在工作区文件夹中获得了go文件。而且我不明白从现在开始我需要做什么。我无法运行gorunserver.go,因为它不在gosrc文件夹中,所以我收到命名空间不存在的错误。这是我得到的错误:server.go:7:2:cannotfindpackage"freelancers/daos"inanyof:/usr/lib/golang/src/freelancers/daos(from$GOROOT)/home/ec2-user/projec

mongodb - 在集合中没有索引的情况下使用 golang mongo 时无法通过 tier.Next(&result) 获取值,如果索引已设置则获取值

我在使用gomongo操作时遇到问题。我的代码是这样的:iter=coll.Find(filter).Sort("-timestamp").Skip(12510).Limit(10).Iter()foriter.Next(&result){....}我收集了12520个文档,但如果我没有在MongoDB中设置timestamp的索引,则无法使用iter.Next()获取值。如果我设置“timestamp”的索引,这似乎可行,并且我可以获得结果的值(value)。那么,发生了什么事? 最佳答案 你需要先解码你的数据然后迭代它这里的it

mongodb - 无法通过 2sphere 找到元素

我来是因为我需要实现地理计算,但是,它不起作用。我目前正在使用包globalsign/mgo从文档我们有这个:db..find({:{$near:{$geometry:{type:"Point",coordinates:[,]},$maxDistance:,}}})查询2dsphere索引:https://docs.mongodb.com/manual/tutorial/query-a-2dsphere-index/2dsphere索引:https://docs.mongodb.com/manual/core/2dsphere/所以我有以下内容:import("github.com/g

go - 通过 SSH golang 连接到 mongoDB

我需要通过ssh连接到远程mongoDB服务器,我之前是用mysql做的,它看起来像:sshcon,err:=ssh.Dial("tcp",fmt.Sprintf("%s:%d",sshHost,sshPort),sshConfig)iferr==nil{defersshcon.Close()mysql.RegisterDial("mysql+tcp",(&ViaSSHDialer{sshcon}).Dial)mgo包里有类似mysql.RegisterDial的函数吗? 最佳答案 将隧道功能添加到您的代码中确实没有意义。一个简单的

pointers - 如何在 Go 中存储对操作结果的引用?

好吧,很难用语言来描述它,但假设我有一个存储int指针的映射,并且想将操作的结果存储为我的散列中的另一个键:m:=make(map[string]*int)m["d"]=&(*m["x"]+*m["y"])这不起作用并给我错误:cannottaketheaddressof*m["x"]&*m["y"]想法? 最佳答案 指针是内存地址。例如,一个变量在内存中有一个地址。像3+4这样的操作的结果没有地址,因为没有为它分配特定的内存。结果可能只存在于处理器寄存器中。您必须分配可以将其地址放入map的内存。最简单直接的方法是为它创建一个局部