1

我想编写一个 Java 客户端/服务器应用程序,它应该执行以下操作:

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

奖励:这些服务器之一可能在传输时关闭,因此它需要在启动时接收文件。

什么架构或框架将是好的和轻量级的来实现这一点?JGroups 是一个好的开始吗?

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

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

1 回答 1

0

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

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

使用持久主题很重要,因此离线订阅者(您的服务器)在重新连接后即可获取文件。

于 2013-10-15T14:27:10.910 回答