Java客户端 - 服务器 - 将文件分发到多个服务器

时间:2013-10-15 09:10:19

标签: java client-server simultaneous jgroups reliable-multicast

我想编写一个Java Client / Server应用程序,它应该执行以下操作:

  • 客户端连接到两台服务器之一
  • 服务器将文本文件或其内容发送到客户端
  • 用户编辑文件
  • 客户端同时可靠地将文件发送回两台服务器
  • 客户关闭应用程序

额外奖励:其中一台服务器在传输时可能已关闭,因此需要在启动时接收该文件。

要实现这一目标,哪种架构或框架会很好且轻量级? JGroups是一个好的开始吗?

编辑: 我必须假设以下最小网络:

  • 一个或多个客户端启动应用程序,但不允许同时编辑该文件。
  • 有一个或多个服务器,其中至少有一个始终处于活动状态(哪一个是随机的)
  • 客户端具有包含所有服务器地址的.xml文件

1 个答案:

答案 0 :(得分:0)

JMS框架(ActiveMQ)可以使用队列和主题来解决您的问题:

  • 客户端在队列中发布消息,其中两个服务器都在侦听,要求提供文件
  • 只有一台服务器收到此请求并将文件发送到客户端
  • 客户端编辑文件
  • 客户端在DURABLE主题上发送已编辑的文件,其中两个服务器都已订阅

使用持久主题非常重要,因此脱机订阅者(您的服务器)会在重新连接后获取文件。