Java 如何扩展websocket服务器?

Java 如何扩展websocket服务器?,java,websocket,jetty,Java,Websocket,Jetty,我正在创建一个websocket聊天应用程序,我正在考虑扩展它 我使用的类是: org.eclipse.jetty.websocket.api.Session 现在,我在内存中保留了一个集合,但是什么是制作这个比例的最佳方法呢?由于不同的客户端可能会连接到不同的服务器,所有后端服务器是否都需要保留所有连接的集合,从而需要保留每个会话并在我的所有后端服务器上进行复制,以确保每个客户端都接收到广播 如果服务器A只知道chatter tim,那么它将无法向其他用户广播消息 另一方面,持久化会话似乎是错

我正在创建一个websocket聊天应用程序,我正在考虑扩展它

我使用的类是:
org.eclipse.jetty.websocket.api.Session

现在,我在内存中保留了一个
集合
,但是什么是制作这个比例的最佳方法呢?由于不同的客户端可能会连接到不同的服务器,所有后端服务器是否都需要保留所有连接的集合,从而需要保留每个会话并在我的所有后端服务器上进行复制,以确保每个客户端都接收到广播

如果服务器A只知道chatter tim,那么它将无法向其他用户广播消息

另一方面,持久化会话似乎是错误的,因为共享连接池可能会变得非常大,持久化会话和重新加载会话可能会非常复杂


提前感谢。

通常的方案是将会话信息存储在一个数据库中,所有服务器都可以从中读取。然后,当您想要向任何给定的用户发送消息时,您可以查询数据库以查找它连接到的服务器(其中一些信息也可以有效地缓存在每个服务器上)。