최근에 Netty 서버를 사용해 채팅 서버를 개발했습니다. 나는 "io.netty.http.example.websocketx.server"예제를 다시 사용하고 채널 맵, 메시지 프로세서를 추가하여 데이터베이스에 새로운 메시지를 저장하는 등 약간 수정한다.로드 밸런싱 netty websocketserver
채널 맵 열려있는 모든 채널과 구독 한 채팅방 ID를 포함합니다. 따라서 누군가가 chatroom 123에 메시지를 게시하면 messageReceived 함수에서 메시지를 받으면 서버는 해당 chatroom에 가입 한 모든 채널에 메시지를 보냅니다.
이 방법은 단 하나의 WebSocketServer 인스턴스가있을 때 제대로 작동하지만로드를 여러 WebSocketServers에로드 균형을 조정하려면 어떻게해야합니까? WebSocketServer # 1에서 메시지를 수신하면 WebSocketServer # 2에 가입 된 모든 사용자에게 메시지를 보내도록 알리는 방법이 있습니까?
을 제공 Vert.x, 그들이에 게시 된 모든 메시지의 역사를받을 요구 사항입니다 체크 아웃 가치가있을 수도 있습니다 대화방, 또는 그 지점에서 게시 된 메시지 만? – johnstlr
기록을 볼 필요가 없으며 사용자는 그 시점 이후에 게시 된 새로운 메시지 만받습니다. – user3819046