Spring Cloud Streams RabbitMQ multi-binder vs the Shovel Plugin/Application

最后都变了- 提交于 2019-12-10 11:46:17

问题


Let's consider two systems. Each of the systems uses a dedicated messaging broker for communication between its micro-services.

We want to communicate these two systems using Spring Cloud Stream.

Case A

Both the systems use RabbitMQ as a message broker.

Which approach is better:

  1. Multi-binder (spring.cloud.stream.binders) allows connecting to two different administrative domains. "Multi-binder configuration the environment.spring.rabbitmq forces us to create a whole new child application context which doesn't take into account any application configured beans"... that causes some issues
  2. Shovel Plugin that moves messages between two different administrative domains and doesn't force the system to go outside its domain. Is the Shovel Plugin production ready?

Case B

The first system uses RabbitMQ and the second uses Kafka message broker.

Which approach is better:

  1. Multi-binder - analogously to the Case A.1.
  2. Shovel Integration App implemented as a Spring Cloud Stream multi-binder, that works like the multi-broker Shovel Plugin. In this case, our system isn't forced to go outside its domain.

I think that the A.2 and B.2 are the better solutions, but I would like to discuss this with experienced software developers.

来源:https://stackoverflow.com/questions/53497244/spring-cloud-streams-rabbitmq-multi-binder-vs-the-shovel-plugin-application

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!