我正在开发一个分布式系统应用程序,除了其他东西之外,它还使用实时消息来聊天服务并将通知推送到许多并发用户通知。
首先,我的实际项目系统是一个Spring Framework Webservices,另外两个服务器,一个用于实时消息服务,另一个用于推送通知服务的Google Cloud Messages。
现在,我正在考虑通过Spring Framework Webservices实现自己的实时消息传递和推送通知。
在这里,我对应用程序性能有所怀疑,Android / iOS聊天和通知服务总是会在Movile Services上运行(比如facebook,twitter,whatssap ......)。以少于1000的少数并发用户为例,我毫不怀疑是否需要一个低功能服务器来运行系统,但是,如果将是多个并发用户超过10000运行持久性websockets ...有人可以告诉我功能服务器来运行它?
对于每个Websocket连接,Java起来一个持久的新线程,直到关闭连接或者只是通过服务器向每个Websocket请求/响应获取一个新线程?
上述两种实施方式中的哪一种更好?
提前感谢您和最好的问候。
答案 0 :(得分:1)
既不是;)您将需要一个服务器,每个连接或请求不需要新线程,但每个CPU核心。并做异步网络。例如。 Netty或Jetty。
答案 1 :(得分:0)
Play Framework非常适合:完全异步/非阻塞和非常好的websocket支持。