“抽象能力,屏蔽底层的实现。”
在之前的公司用的是RocketMQ,现在新公司要使用Kafka,主要是为了它的高性能.刚开始,直接按照Kafka教程开发,后面架构师提醒可以使用Spring-Cloud-Stream。所以有了这篇学习记录。
01
—
作用是什么
为什么会有Spring-Cloud-Stream?
一句话,统一抽象各个MQ中间件,统一它们的编程模型。
市面上有很多MQ,比如老牌的Kafka,RabbitMQ,RocketMQ。它们的编程方式都不一样,项目后期要用事务、延迟功能的MQ,比如RocketMQ.又需要从新编码。
我们期望的开发模型如下。
需要注意下:目前兼容Kafka、RabbitMQ,对RocketMQ部分支持。
02
—
开发入门
这里以Kafka为例,学习下Spring-Cloud-Stream的使用。先运行起来,再深入学习。
引入依赖
Binder(这里是Kafka)配置
stream:kafka:binder:##binder属性brokers:.0.0.1:#kafka地址集群,.0.0.1:,.0.0.1:replicationFactor:-1configuration: