草庐IT

Kafka中Zookeeper的作用

全部标签

go - 使用 Jaeger 在分布式应用程序中跟踪 Kafka 总线

我分发了包含多个Go服务的应用程序。其中一些使用Kafka作为数据总线。我能够使用Jaeger的opentracing追踪服务之间的调用。我在图表上绘制Kafka跨度时遇到问题,它们显示为间隙。这是我能做的。初始跨度由gRPC中间件创建。生产方:...kafkaMsg:=kafka.Message{Key:[]byte(key),Value:msgBytes}headers:=make(map[string]string)ifspan:=opentracing.SpanFromContext(ctx);span!=nil{opentracing.GlobalTracer().Injec

go - 重消费Kafka消息的可能原因

昨天从日志中发现,kafkagroupcoordinator发起grouprebalance后,kafka重新消费了一些消息。这些消息已在两天前使用(从日志中确认)。日志中报告了另外两个重新平衡,但它们不再重新使用消息。那么为什么第一次reblancing会导致重新消费消息呢?有什么问题?我使用的是golangkafka客户端。这是代码config:=sarama.NewConfig()config.Version=versionconfig.Consumer.Offsets.Initial=sarama.OffsetOldest而且我们在声明消息之前处理消息,因此我们似乎正在为kaf

go - 使用 go-mocket 模拟 GORM 数据库不起作用

我正在尝试使用go-mocket来模拟gorm数据库,但它无法正常工作。我没有向我的ClusterExists函数发送任何模拟数据,因此单元测试无法按预期工作。在文档中有两种模拟“简单链用法”和“FakeResponse”的方法。我已经尝试了两种方法,但都不起作用。我的功能:funcClusterExists(cluster*Cluster,db*gorm.DB)bool{c:=Cluster{}exists:=!db.Where("cluster_name=?ANDenv_type=?",cluster.ClusterName,cluster.EnvType).First(&c).R

go - 如何修复 `kafka: client has run out of available brokers to talk to (Is your cluster reachable?)` 错误

我正在开发一个应用程序,该应用程序从sqs队列中读取一条消息,对该数据执行一些操作,然后获取结果并将其发布到kafka主题。为了在本地进行测试,我想在我的docker构建中设置一个kafka图像。我目前能够使用docker-compose在本地启动aws-cli、localstack和我的应用程序的容器。另外,我也可以毫无问题地启动kafka和zookeper。我无法让我的应用程序与kafka通信。我试过使用两个单独的撰写文件,也尝试过网络。最后,我引用了:https://rmoff.net/2018/08/02/kafka-listeners-explained/。这是我的docke

go - 使用 kafka-go 计划在 Kafka 中创建消费者

我是kafka的新手,目前正在研究它。我在golang中使用kafka-go来创建生产者和消费者。目前我能够创建一个生产者,但我希望一旦创建了一个主题的生产者而不是每次都创建消费者。意味着对于每个主题,只创建一次消费者。此外,当需要为主题创建更多消费者以平衡负载时,它会被创建。有没有办法通过goroutines或Faktory来安排它? 最佳答案 你不应该有耦合的生产者/消费者,Kafka让你有完全解耦的生产者/消费者。即使主题不存在,您也可以运行您的消费者(Kafka将创建它,您只会收到一个领导者不可用警告),并在您需要时运行您的

go - 使用 go build(或 go install)的增量构建不起作用

我有一个Go项目,但对Go的了解不多!我重复发出命令gobuild或goinstall,绝对没有对源代码进行任何更改或修改例子:${GOLANGBIN}/gobuild-v-i-o$(OUTPUT_DIRECTORY)/bin/mainsrc/main我预计在第一次之后,我的二进制文件根本不会更新。但是,在每次构建之后,我的二进制文件都是最新的,具有最新的时间戳。Go是否能够仅构建需要构建的内容(自上次以来),而不能构建已经更新的内容? 最佳答案 我需要升级到1.13我用的是1.09 关

google-app-engine - Betfair 非交互式 (Bot) 登录在 Google App Engine 区域 eu-west2(伦敦)中不起作用

我得到的错误是BETTING_RESTRICTED_LOCATION。但是,当我使用来自VPN的伦敦位置在本地运行我的应用程序时,我能够完美地登录。有什么方法可以确保该应用在博彩合法的地方运行?还有另一个类似的问题,但它很老,对我没有帮助。 最佳答案 GoogleCloudPlatform的IP共享相同的地理位置(美国)。并且您的机器人可能不允许来自世界这个地区的连接。如果这是问题所在,那么GCP中目前还没有任何可用的解决方案。可以关注this功能请求或与此同时,只需将请求指向在伦敦托管的充当代理的本地服务。

go - Apache Thrift 0.9.1 生成 golang 代码,参数 -r 不起作用

我用`thrift-0.9.1-r-gengoaaa.thrift`生成golang代码(注意:aaa.thrfit包括bbb.thrift,它定义了“Body”结构)参数-r似乎不起作用,在ttypes.go中找不到“Body”结构,但是当我尝试使用`thrift-0.9.1-r-genjavaaaa.thrift`有“Body.java”,如何生成包含文件的golang代码?(注:来自https://github.com/apache/thrift)我知道原因,namespacegoservice.demo导致问题 最佳答案 $

go - 斯堪的纳维亚字符在 go-lang go-instagram API 绑定(bind)中不起作用

您好,我正在努力解决这个开源库(https://github.com/carbocation/go-instagram/)中似乎存在的多字节支持问题。我正在使用下面的代码来检索有关瑞典语标签blue的信息。我怎么会在尝试时得到一个空数组。fmt.Println("Startinginstagramdownload.")client:=instagram.NewClient(nil)client.ClientID="myid"media,_,_:=client.Tags.RecentMedia("blå",nil)fmt.Println(media)我已经尝试通过浏览器使用api,并且有

Golang Kafka 不消耗所有消息 offsetnewest

第一批:-我正在尝试从100个平面文件中提取数据并将其加载到一个数组中,然后将它们作为字节数组一个一个地插入到kafka生产者中。第二批:-我从kafka消费者消费,然后将它们插入NoSQL数据库。我在Kafka的shopifysaramagolang包的配置文件中使用了Offsetnewset。我可以接收消息并将消息插入到kafka,但在消费时我只收到第一条消息。因为我在sarama配置中提供了最新的Offset。我怎样才能得到这里的所有数据。 最佳答案 如果没有任何代码或关于如何配置kafka的更深入的解释(即:主题、分区等),