首页 > 其他分享 >Golang操作kafka遇到网络问题重试的案例

Golang操作kafka遇到网络问题重试的案例

时间:2024-03-28 20:13:05浏览次数:32  
标签:Golang sarama 遇到 网络 kafka 重试 topic go

草稿

0、实际中会遇到网络抖动会导致消费者有一小段时间与kafka连接遇到问题~

0、如何模拟网络问题?本地跑多个kafka实例直接关掉其中一个kafka服务??怎么模拟断网??

1、kafka-go与sarama都演示一下

2、一个consumer消费一个topic的例子;模拟网络问题可以把kafka服务关了~ 观察一下再开启kafka服务的话 有没有正确消费消息~

3、一个consumer消费多个topic的例子:模拟网络问题可以把topic删了,观察一下有没有正常消费其他topic的消息~实际中一个topic出问题但是另外的topic的消息会阻塞???

4-1、sarama返回的error做了封装,可以用它返回的error的枚举判断是否是实际中要用的网络异常~~

4-2、kakfa-go中没有方法将自己包中的Error暴露出来,但是我们可以看它的源码里面有一个 isTransientNetworkError方法,把它抄过来用它来判断网络错误即可~~

5、手动ACK消息还是自动ACK消息?sarama包与kafka-go包遇到网络抖动,

~~~

标签:Golang,sarama,遇到,网络,kafka,重试,topic,go
From: https://www.cnblogs.com/paulwhw/p/18102523

相关文章

  • golang调试利器 dlv 的使用
    安装Github地址: https://github.com/go-delve/delve/如果是在本地调试,直接通过goinstall命令将其安装到本地的$GOPATH/bin下即可goinstallgithub.com/go-delve/delve/cmd/dlv@latest容器环境下由于不一定支持go,需要先安装go语言环境,会比较麻烦,可以直接将本地下载好......
  • 云原生最佳实践系列 5:基于函数计算 FC 实现阿里云 Kafka 消息内容控制 MongoDB DML 操
    方案概述在大数据ETL场景,将Kafka中的消息流转到其他下游服务是很常见的场景,除了常规的消息流转外,很多场景还需要基于消息体内容做判断,然后决定下游服务做何种操作。该方案实现了通过Kafka中消息Key的内容来判断应该对MongoDB做增、删、改的哪种DML 操作。当Kafka......
  • 【Canal】Canal+Kafka实现数据同步
    canal介绍参考:【Canal】Canal快速入门Kafka准备参考:【Kafka】Kafka安装(一) + 【Kafka】Kafka-UI安装启动canal-server参考:https://github.com/alibaba/canal/wiki/Canal-Kafka-RocketMQ-QuickStart下载canal,访问 release页面 ,选择需要的包下载,如......
  • kafka命令工具创建查看topic信息
    转载:https://www.jianshu.com/p/6cf6c7f208c9 1、创建topic./bin/kafka-topics.sh--bootstrap-serverlocalhost:9092--create--topicfirst--partitions1--replication-factor1./bin/kafka-topics.sh--create--bootstrap-serverlocalhost:9092--replication-fa......
  • 推荐一个kafka可视化客户端GUI工具(Kafka King)
    KafkaKing,比较新,只需要填写kafka连接地址就行,不需要什么zookeeper。支持的功能也多:查看集群节点列表(完成)创建主题(支持批量)、删除主题、支持根据消费者组统计每个topic的消息积压量(完成)支持查看topic的分区的详细信息,并为主题添加额外的分区(完成)支持查看每个分区的消息offse......
  • 推荐 10 个非常有用的 Golang Libraries
    推荐10个非常有用的GolangLibraries原创 GoOfficialBlog GoOfficialBlog 2024-03-2518:16 山东 听全文Go语言的标准库非常好用。通常情况下,你不需要任何额外的库来完成任务。但是在某些情况下,可能需要使用一些库。今天将与你分享日常工作中很有用的10个......
  • win10 docker zookeeper和kafka搭建
    好久没用参与大数据之类的开发了,近日接触到一个项目中使用到kafka,因此要在本地搭建一个简易的kafka服务。时间比较紧急,之前有使用docker的经验,因此本次就使用docker来完成搭建。在搭建过程中出现的一些问题,及时记录,以便后期再遇见。环境计算机环境:win1022H2dockerVersio......
  • 实时数仓之Flink消费kafka消息队列数据入hbase
    一、流程架构图 二、开源框架及本版选择    本次项目中用到的相关服务有:hadoop、zookeeper、kafka、maxwell、hbase、phoenix、flink   三、服务部署完成后,开发Flink主程序  3.1结构图如下:      3.2代码详细内容  3.2.1pom文件<?xml......
  • Kafka Connect 自定义Sink Connector实现在数据同步时增加时间戳字段和假删除功能
    1.情景展示以debezium为例,结合kafka很容易就能实现两个数据库表与表之间的数据同步问题。但是,现在甲方有这样的需求:其一,在源表数据同步至目标表时,目标表增加一个时间戳字段(就是我们通常意义上讲的last_update_time),无论是insert还是update操作,都在此字段插入系统当前时间。用......
  • golang模板库之fasttemplate
    简介fasttemplate是一个比较简单、易用的小型模板库。fasttemplate的作者valyala另外还开源了不少优秀的库,如大名鼎鼎的fasthttp,前面介绍的bytebufferpool,还有一个重量级的模板库quicktemplate。quicktemplate比标准库中的text/template和html/template要灵活和易用很多,后面会专......