나는 시세 데이터를 생성하는 단일 스트림 소스 S를 가지고 있습니다.단일 소스의 여러 서버로 소켓 io를 통해 스트리밍
소켓 io를 사용하는 노드 응용 프로그램에 S를 통합하고 싶습니다. 내 애플 생산에서 다중 서버 환경에서 실행, 이제 서버 A와 B 처음
, 나는 단순히 생각했던 가정 해 봅시다 :
를 사용하여 소켓 입출력 레디 스 어댑터 : https://github.com/socketio/socket.io-redis A와 B 모두
A와 B를 모두 S에 연결하고 단순히 A와 B가 적절한 방에 청크를 브로드 캐스트하여 S에서 나오는 데이터 청크를 처리하도록합니다.
을 도움이되기를 바랍니다. 어댑터를 사용하여 한 서버에서 브로드 캐스팅하면 연결된 redis 인스턴스를 조회하고 연결된 모든 클라이언트 (서버 B를 통해 연결된 이벤트)를 찾은 다음 데이터를 모두 ALL로 푸시합니다. 따라서 복제에 대한 염려가 있습니다. 데이터의). – pQuestions123
redis 어댑터는 내 대답의 두 번째 단락을 수정합니다. 그러나 당신이 redis 클라이언트를 사용하고 있다면 항상 그것을 통해서만 방송해야합니다. 분명히 서버에서 브로드 캐스트 한 다음 어댑터로 다시 브로드 캐스트하는 경우 일부 클라이언트는 동일한 데이터를 두 번 가져옵니다. 단일 클라이언트와의 통신은 평소와 같은 방식으로 수행 할 수 있습니다. –
내 문제는 모든 서버가 어댑터를 통해 동일한 데이터를 브로드 캐스팅하고 클라이언트가 동일한 데이터를 두 번 수신하지 않는 것입니까? – pQuestions123