Tcp 为分布式应用程序选择通信库
我开始开发一个分布式应用程序,我们遇到了一个大难题!我们需要一个易于使用且具有以下功能的通信库:Tcp 为分布式应用程序选择通信库,tcp,cluster-computing,distributed-computing,multicast,Tcp,Cluster Computing,Distributed Computing,Multicast,我开始开发一个分布式应用程序,我们遇到了一个大难题!我们需要一个易于使用且具有以下功能的通信库: 可靠通信 小组/频道 单播 多播 自动发现 保安 支持多种编程语言 支持多种操作系统 支持地理分布优先 关于此应用程序的几句话 这个分布式项目背后的主要思想是拥有一个前端、一个后端(处理应用程序)和数百个代理,这些代理将从一些数据中心收集数据。代理和后端之间的通信应该尽可能简单,我们应该有可能推送配置或从代理中提取实时数据。代理和后端之间的传输需要最低限度的安全性。此外,我们还可以在后端集群li
- 可靠通信
- 小组/频道
- 单播
- 多播
- 自动发现
- 保安
- 支持多种编程语言
- 支持多种操作系统
- 支持地理分布优先
- JGroup
- 散布
- openpgm
- zeromq
- 黑兹卡斯特
如果您有开发集群应用程序的经验,请让我知道上面哪些框架适合我的项目?此外,如果你知道其他免费图书馆是适合我的项目,并没有列出以上请让我知道 我在这方面没有直接的工作经验,所以如果我的建议有点愚蠢,请原谅我 我遇到了一个免费的图书馆,它似乎对你有用,它是由谷歌制作的,名为。它专门设计用于语言无关、平台无关的环境和通信协议的生成 还有许多使用协议缓冲区格式的方法
我希望这会有所帮助。我强烈推荐ZeroMQ。还可以看看Heartbeat,Linux HA中的集群消息传递层 这是我最近看到的关于该主题的综合评估。请查看更多细节,请参阅我的博客文章,但请在这里对StAcExpRoad进行评论。请看AKKA,它具有您正在寻找的大部分特征。AKKA没有C++绑定。回到2012,选择的解决方案很少。现在,有Kafka、RocketMQ、RabbitMQ等等。当您想编写自己的网络协议时,协议缓冲区非常好,但在这种情况下就不行了。我想要一个免费的库,而不是编写我自己的协议:)。谢谢你的建议。你有使用zmq的经验吗?请解释为什么您“强烈推荐”。我为我们正在构建的集群应用程序评估了它,它看起来非常有前途:易于使用,性能优异。。。最后,我们采用了一种使用PostgreSQL数据库发布消息的黑客解决方案,这主要是因为我们已经知道pg是可以信任的,并且为了消除复杂性(pg已经用于数据存储,不需要点对点通信)。使用sql数据库进行消息传递感觉有点不对,我希望我们使用zmq来代替。这并不是我所期望的,但直到现在才是最好的答案。这对于消息队列来说非常全面,但我需要一个支持C++/Java/Python的通信库。到目前为止,只有0mq知道即使不是真正的“消息队列”。