我正在编写一个客户端/服务器应用程序,该应用程序应该基于消息工作。我希望尽可能地重用,而不是编写另一个实现并好奇其他人正在使用什么。
库应提供的功能:
- 客户端和服务器端功能
- 应该基于消息工作
- 支持多线程
- 应该在负载均衡器/防火墙后面工作
我用 HTTPCore 做了几次测试,但底线是必须同时实现客户端和服务器,仅覆盖传输层。由于网络相关的要求,RMI 也不是一个选项。
任何想法都将受到高度赞赏。
<小时/> 详情我的想法是实现一个客户端/服务器包装器,它处理客户端通信(包括用户/密码验证)并将传入请求写入 JMS 队列:
#1 User --> Wrapper (Check for user/password) --> JMS --> "Server"
#2 User polls Wrapper which polls JMS
单独的进程将处理请求并可以通过包装器回复客户端。我想使用 JMS 因为:
- 它可以很好地处理持久性
- 负载平衡 - 通过添加额外的服务器作为消费者,可以轻松应对高峰
- JMSTimeToLive 也派上用场
不幸的是,我没有找到一种单独使用 JMS 的方法,因为客户端只能访问它们的消息,并且在 JMS 端设置不同用户听起来也不可行。
最佳答案
嗯,就实现它的客户端和服务器代码而言,HTTP 可能是最好的支持 - 但根据您的要求,它很可能完全不合适。在我们真正为您提供正确建议之前,我们需要实际了解一些要求(或者至少对应用程序有一个模糊的了解)。
关于java - 最好的 Java 支持的服务器/客户端协议(protocol)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/451004/