两个Spring启动应用程序在彼此之间与消息队列通信

时间:2016-02-24 15:37:30

标签: java spring spring-boot spring-integration

我有两个Spring Boot应用程序在同一个本地网络中运行,他们需要相互通信。一个明显的答案是利用REST API并进行http调用,但我想为此目的使用Spring Integration项目。

那就是说,我有几个架构问题:

  1. 我是否应该设置独立的消息传递框架(例如Rabbit MQ)或嵌入式应该也可以工作(例如,消息传递将嵌入到两个应用程序之一)。

  2. 如果是独立的,我应该选择哪种消息传递框架:ActiveMQ,RabbitMQ还是别的什么?

1 个答案:

答案 0 :(得分:1)

欢迎来到Messaging Microservices世界!

你走的是正确的方法,但如果要进行制作,就会忘记嵌入式中间件。特别是当您的应用程序将按地理位置分发时。

所以,你需要一些Message Broker,而且应该是外部的。

您的选择真的是哪一个更适合您的目的。例如,您甚至可以考虑Apache Kafka或Redis。

如果我们在这里谈论Spring Integration,那么考虑使用我们的新产品 - Spring Cloud Stream可能会更好。

通过这种方式,您可以将应用程序作为Spring Boot Microservices,它们能够透明地连接到外部中间件以用于应用程序。您只需处理应用程序中的消息通道即可!