消息队列这个东西一直有关注,RabbitMQ相关的东西书籍也入手了,也跑过简单的例子,不过一直没有上。一开始使用的是Spring Boot集成RabbitMQ的方案,因为用的是Spring Cloud的微服务解决方案,发现Spring Cloud Stream这个东西,用这个的好处就是这是一个高层次的实现,可以支持RabbitMQ和Kafka,所以后续切换也方便。
Source、Sink、Processor
这三个是Spring Cloud Stream自带的,Source用来发送消息、Sink用来接收消息,Processor集成了二者。最初的构想是一个微服务生产消息,另一个微服务消费这些消息,我一开始用的是@EnableBinding(value = {Processor.class})
注解,这样话等于我要同时处理生产和消费的东西。如果只是实现我最初的构想的话,只需要绑定Source或者Sink其中一个就好。
总结
Spring Cloud Stream网上的资料并不多,一开始上手有点难。