我想弄清楚这会如何解决:
你有什么建议,使用这种架构的利弊,为什么选择jgroups,有什么选择?
我应该使用原生NIO还是使用像Mina或Netty这样的库?
更新
答案 0 :(得分:1)
我想知道您为什么要为客户端 - 服务器通信实现二进制协议?我的建议是使用REST或WebServices。与专有二进制协议相比,它具有巨大的优势。
关于服务器 - 服务器通信......有很多选择,我想知道为什么你选择了JGroups。你能详细说明一下吗?我会建议你使用像JMS这样的消息传递解决方案。有许多可用的实现,如ActiveMQ。它可以很好地将服务器彼此分离。
如果您需要维护共享配置信息,命名,在服务器之间进行分布式同步,您可以查看Apache ZooKeeper项目。
如果您的服务器部署在亚马逊EC2实例,比我认为最好的办法是使用SQS和/或SNS服务的服务器 - 服务器通信。
您可以使用Terracotta为您的服务器的状态复制(我依然会建议你让你的服务器,无状态越好)。
但是,这真的很难,因为您还没有描述既不系统,也不要求它劝告什么更具体。我认为这会非常有帮助!