题主这边有需求考虑将内部研发的消息队列对外提供服务(可能开源?),目前在考虑是实现 rabbitmq 还是 kafka 协议,这样能更快接入已有的生态,题主两个都有用过,看上去是 kafka 更容易,但 kafka 版本多,client 混杂,怕有坑
核心诉求是
协议扩展性:可能需要做一些内部定制化的功能扩展
易于维护
易于开发:其中协议不一定需要完整实现,核心的部分实现也是可以的,目前看到 aws/aliyun 给的 kafka 貌似也不是全部功能
接入已有生态简单:这里 kafka 怕有坑,主要是看上去协议多次更改,rabbitmq 的话,应该就是 AMQP 0-9-1