我有两个Spring Boot应用程序在同一个本地网络中运行,他们需要相互通信。一个明显的答案是利用REST API并进行http调用,但我想为此目的使用Spring Integration项目。
那就是说,我有几个架构问题:
我是否应该设置独立的消息传递框架(例如Rabbit MQ)或嵌入式应该也可以工作(例如,消息传递将嵌入到两个应用程序之一)。
如果是独立的,我应该选择哪种消息传递框架:ActiveMQ,RabbitMQ还是别的什么?
答案 0 :(得分:1)
欢迎来到Messaging Microservices世界!
你走的是正确的方法,但如果要进行制作,就会忘记嵌入式中间件。特别是当您的应用程序将按地理位置分发时。
所以,你需要一些Message Broker,而且应该是外部的。
您的选择真的是哪一个更适合您的目的。例如,您甚至可以考虑Apache Kafka或Redis。
如果我们在这里谈论Spring Integration,那么考虑使用我们的新产品 - Spring Cloud Stream可能会更好。
通过这种方式,您可以将应用程序作为Spring Boot Microservices,它们能够透明地连接到外部中间件以用于应用程序。您只需处理应用程序中的消息通道即可!