Distributed 我应该在什么级别实现分布式系统上节点之间的通信?
我正在构建一个web应用程序,从第一天起,它将受到单个服务器所能处理的限制。因此,我正在考虑采用具有多个相同节点的分布式体系结构。目标是提供可伸缩性(添加服务器以容纳更多用户)和容错性。节点之间需要共享一些状态,因此需要进行一些通信。我相信我有以下几种方法可以用Java实现这种通信:Distributed 我应该在什么级别实现分布式系统上节点之间的通信?,distributed,Distributed,我正在构建一个web应用程序,从第一天起,它将受到单个服务器所能处理的限制。因此,我正在考虑采用具有多个相同节点的分布式体系结构。目标是提供可伸缩性(添加服务器以容纳更多用户)和容错性。节点之间需要共享一些状态,因此需要进行一些通信。我相信我有以下几种方法可以用Java实现这种通信: 使用套接字和自定义协议实现它 使用RMI 使用web服务(每个节点都可以发送和接收/解析HTTP请求) 使用JMS 使用其他高级框架,如或 我想知道这些技术之间的比较: 当节点数增加时 当节点之间的通信量增加
- 使用套接字和自定义协议实现它
- 使用RMI
- 使用web服务(每个节点都可以发送和接收/解析HTTP请求)
- 使用JMS
- 使用其他高级框架,如或
- 当节点数增加时
- 当节点之间的通信量增加时(每秒1000条消息和/或高达100KB的消息等)
- 在实践层面(例如易于实施、可用文档、许可证问题等)
- 我还想知道人们在实际生产项目中使用了哪些技术(相对于实验性或学术性项目) 不要忘记 它为您提供了自动服务发现、服务租赁和可下载代理,因此实际的客户机/服务器通信协议由您决定,而不是由框架强制执行(例如,您可以选择HTTP/RMI/任何内容) 该框架是围绕对和的确认而构建的。i、 e.您将遇到网络问题,而构建该体系结构是为了帮助您恢复和维护服务 如果您还使用它,那么实现工作流和消费者-生产者体系结构就很简单了。生产者将写入JavaSpace,一个或多个消费者将从该空间(在事务下)获取该工作并使用它。因此,您可以通过提供更多的消费者来扩展它