kratos中使用kafka等消息中间件介绍
B站相关视频地址
kratos中使用kafka不同group消费同一个topic的坑
官方项目地址
https://github.com/tx7do/kratos-transport
这个是kratos官方集成各种主流消息中间件的项目,里面有各种消息中间件broker与transport的使用方法。相关的README文件也有相关消息中间件的介绍以及安装方法。
个人项目地址
https://gitee.com/huoyingwhw/kratos_kafka
注意kratos-transport版本问题
1.0.4版本及以上版本
kratos-transport 的版本是 github.com/tx7do/kratos-transport@1.0.4
,使用相关的消息中间件的话需要手动下载指定版本的消息中间件的broker与transport。
自己手动下载 github.com/tx7do/kratos-transport/transport/kafka 的时候,建议不要使用新版的,我是用的版本是 v0.0.0-20221116091410-c46ee7b37366,这个版本比较稳定,用新版的话,我在线上消费数据的时候发现一个问题:线上会报EOF错误,错误原因是某些消费位点的数据解析失败了,但是我上线上kafka看对应消费位点的数据格式是没问题的。将版本设置成上面的就没问题了。
一个比较老的版本
如果kratos-transport 的版本是 github.com/tx7do/kratos-transport@v0.0.0-20220715094448-1ce1a74fa1a6
, 它里面内置了相关版本的broker与transport,但是要注意,使用不同的版本在初始化broker(生产者)与transport(消费者)的时候会有不一样的地方!另外不同版本的broker在往消息中间件中发消息时,Publish方法也有不一样的地方!
~~~