2017-12-04 26 views
0

웹 애플리케이션의 프런트 엔드에 전송 계층을 생성 중입니다. 사용자는 모바일 앱과 브라우저를 통해 연결할 수 있습니다. 전송 계층은 채팅 응용 프로그램, 다중 페이지 웹 응용 프로그램, 알림 및 전자 메일 서버를 포함하는 여러 응용 프로그램을 처리합니다. 규모는 약 4000 명의 동시 사용자입니다. 일부 시나리오 다른 서비스도 서로 상호 작용해야 할 수 있습니다. 예 : 채팅 서버가 이메일을 보낼 수 있습니다.클라우드의 Pub Sub가 포함 된 소켓 클러스터

이 전송 레이어에 가장 적합한 디자인을 찾고 있습니다. 전체 시스템은 클라우드에 배포해야하지만 공급 업체에 독립적이어야합니다.

내 디자인 : 1. HTTP 폴링에 대해 NettoSphere (https://github.com/Atmosphere/nettosphere) 또는 Netty 및 FallBacks를 통해 소켓을 만듭니다. 2. 소켓 레이어를 Redis와 같은 Pub/Sub와 연결하십시오 (지금은 Cloud Pub/Sub 사용). 각 기능 서버 (이메일, 채팅 등)는 자체 채널을 갖습니다.

의심 : 1. Am It Overkilling? 내가 사용할 수있는 선반 라이브러리가 준비되어 있습니까? 나는 수색했지만 찾지 못했습니다. 일반적인 유스 케이스 여야하고 선반 밖에서 뭔가 있어야한다고 생각합니다. 2. Java의 경우 클러스터에서 Nettosphere의 확장이 가능합니까? 아니면 Node.js에서 SocketCluster를 사용해야합니까? 나는 자바에 익숙하다.

답변

0

간단한 pub/sub는 WebSocket을 사용하여 처음부터 구현하기가 어렵지 않습니다.

그러나 인증 및/또는 확장 성 요구 사항을 도입하면 문제가 매우 어려워집니다. 시스템에 이러한 두 가지 기능 중 하나가 필요할 것으로 생각되면 SocketCluster가 많은 시간을 절약해야합니다.