目前我们正在研究开发一个实时视频聊天应用程序,其中包括视频(wowza),网络(spring mvc),聊天(rabbitmq)......部分。我想将每个部分分成单独的应用程序。
让这些应用程序进行通信的最佳方式是什么。我读到Rabbitmq作为消息传递系统,是一种扩展和连接应用程序的流行方式。这是社区经常使用的东西吗?
此外,每个应用程序都需要身份验证,我们希望使用Spring安全性,这是让所有不同应用程序使用一个安全点的最佳方法。 Rabbitmq对此有利,还是坚持使用jms
我已经离开Java世界一段时间了,我有点过时了,请帮帮我。
答案 0 :(得分:1)
由于您希望使用多种语言实现,因此RabbitMQ听起来是更好的选择,因为它是AMQP实现,声称支持更多样化的语言集。我的意思是,大多数JMS实现都有相当丰富的语言支持(除了Java),但似乎AMQP在这方面有更多的动力。
您可能还会考虑ZeroMQ。根据您的描述,您似乎可能不需要在后端(排队,持久性等)。您可能还发现在传输协议中实现消息传递更容易,这些传输协议更易于管理可能卡在防火墙后面的分布式用户社区,需要使用代理服务器等。
//尼古拉斯