草庐IT

kafka参数

全部标签

go - 如何将标志作为 urface/cli 命令的参数传递?

我正在使用urfave/cli在Go中构建CLI应用程序。我想要的是在第一个命令之后给出的选项被视为参数而不是标志(这样我就可以自己处理它们或将它们传递给其他可执行文件)。当使用app.Action(见下文)时,这是我得到的行为,但如果我使用cli.Commands,则会出现错误。packagemainimport("fmt""github.com/urfave/cli""log""os")funcmain(){app:=cli.NewApp()app.Commands=[]cli.Command{{Name:"test",Action:func(c*cli.Context)error

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 - 如何修复 `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 - 构建命令行参数 : cannot load local package: cannot find module providing package

我无法使用gomod加载本地包。我有单独的go.mod文件用于repoA和repoB。我在任何地方都找不到解决方案。操作系统是windows。$>goversiongoversiongo1.12.7windows/amd64当我从repoA运行主文件时,我有两个带有存储库的模块。它将尝试查找repoB的模块/包,然后抛出一个错误提示cannotfindmoduleprovidingpackage我的repo结构:-����repoA�����proto������system�����sauth�����shandle�����smodel�����sresponse����repoB

http - 如何在请求中转义正斜杠以使 url-routers 将其计为 uri 参数的一部分?

我使用gorilla/mux进行路由映射:router.Handle("/v1/data/{param}",handler)当我调用curlhttp://localhost:8080/v1/data/hello%2Fworld时,我得到了404响应代码。问题是,在我的微服务中,我想将/v1/data/之后的所有内容解释为param。捕获参数的代码如下:uriP:=mux.Vars(r)param:=uriP["param"]是否可以使用gorilla/mux实现此目的?或任何其他路由器? 最佳答案 您应该添加正则表达式,因为默认的正

c - 如何将 Go 函数作为参数传递给 C 函数?

我正在尝试将Go函数传递给C函数。类似于:stm:=C.struct_tray_menu{....fn://definitionofmethod....}C.menu_cb(stm);并将其传递给C函数:staticvoidmenu_cb(structtray_menu*item){(void)item;printf("menu:clickedon%s\n",item->text);}我只是想知道如何定义像C.function这样的东西。 最佳答案 主要问题是对c中go定义的误解。所以最终代码看起来像//exportcallOnMe

go - 如何在 cgo 导出函数中获取正确的参数名称?

我正在用Go编写一个库,我想导出到一个c-shared-library。它工作得很好,但是我发现导出的header使用p0、p1、p2、有点烦人……用于参数名称,而不是Go中的原始参数名称。有没有办法改变这种行为,或者我只是坚持这样做?Iamusinggoversiongo1.12.7darwin/amd64例子:packagemain/*#import*/import"C"import("fmt")funcmain(){}//exportMyFuncfuncMyFunc(input*C.char){fmt.Println(C.GoString(input));}gobuild-oli

image - 如何在 Go 中发送带有图像和一些参数的 http post 请求?

我正在尝试使用表单数据中的图像和参数发出httppost请求,但是当我添加图像时,我的参数丢失了。testProduct:=&Product{Name:"TestProductName",ImageExtension:"png",}varbbytes.BuffermultipartWriter:=multipart.NewWriter(&b)multipartWriter.CreateFormFile("image","../test.png")multipartWriter.Close()form=url.Values{}form.Add("name",testProduct.Nam

mongodb - 在 mongo-go-driver 中将 json 参数转换为 bson for UpdateOne

我正在尝试使用mongo-go-driver库的UpdateOne但此方法采用bson文档。我给它一个接口(interface)参数(json)。我的问题是找到将我的json请求解析为bson以动态更新字段的最佳方法。谢谢。func(sStore)Update(id`entercodehere`bson.D,dinterface{})(*mongo.UpdateResult,int32,string){upd:=bson.D{{"$inc",bson.D{d,},},}c,ctx,_:=getCollection(s.conn,s.dbName,s.collectionName)res