![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
消息队列
文章平均质量分 61
jeffrey11223
这个作者很懒,什么都没留下…
展开
-
golang结合Kafka消息队列实践(一)
公司决定使用kafka来作为新一代的消息队列来使用,于是开始对kafka的机制,原理,go客户端的使用,各种了解了一番,过程中也遇到了不少的坑,特地写出来,和大家分享,也供自己参考,加深印象。首先,kafka的设计思想,各个角色比如broker,producer,consumer,partition等等还有与它们相关的配置,这里就先不作介绍了,官方文档都有,文章后面也会提到。附上kafka...原创 2018-06-07 20:49:28 · 24467 阅读 · 5 评论 -
kafka消息交付语义的分析
在kafka中,在producer和consumer这两个维度上都有三种消息交付的语义:At most once ---- 消息可能会丢失但绝不重传.At least once ---- 消息可以重传但绝不丢失.Exactly once ---- 每一条消息只被传递一次.先来看producerproducer设置中有这么一个选项:每发送一次消息,都会要求broker返回...原创 2018-06-22 19:59:51 · 1813 阅读 · 0 评论 -
golang结合Kafka消息队列实践(二)
上周分享了如何使用go来对kafka进行生产和消费,这周接着对kafka消息队列的一些特性来进行使用。 上次讲到kafka有个consumer group的概念,而我们使用的sarama并没有支持,所以这次引入sarama-cluster项目 : go get “github.com/bsm/sarama-cluster”producer的代码不变,参考上一篇文章,consumer的代码改为...原创 2018-06-15 18:42:16 · 6825 阅读 · 0 评论 -
用go实现的kafka客户端,基于sarama和sarama-cluster
工作中需要将原先的消息队列替换成kafka,于是接触了基于go实现的sarama,又因为sarama不支持consumer group,于是又使用了sarama cluster,同时因为需要尽量保证消费一次的语义,就自己造了个简单的轮子,把sarama和sarama cluster封装到一起,同时实现了保证消费一次的语义,我给它起名为kago。先附上kago的依赖,需要先进行安装:go...原创 2018-08-05 22:51:08 · 23676 阅读 · 1 评论