2017-11-29 15 views
2

메시지 대기열에서 이벤트를 읽고 실시간으로 모든 웹 클라이언트에 알리는 알림 서비스가 있다고 가정 해 보겠습니다. 어떻게 웹 소켓 작업을 알고 있지만 클라이언트, API 게이트웨이 및 알림 서비스 사이의 웹 소켓 연결 유지되는 사이에 API 게이트웨이있을 때 나는 의아해합니다.마이크로 서비스 아키텍처의 웹 소켓

도와주세요! 감사합니다

편집 : 아키텍처 : enter image description here

+1

브라우저에서 들어오는 webSocket 연결이 webSocket 서버에 연결되어야한다는 것을 알고 있다고 가정합니다. 따라서 webSocket 서버를 통해 연결된 하나 이상의 클라이언트에게 메시지를 보내려면 webSocket 서버에 대신하여 메시지를 보내야합니다. 알림 서비스가 다른 마이크로 서비스 인 경우 WebSocket 서버에 원하는 알림을 보내는 메시지를 보내는 방법을 알아야합니다. – jfriend00

+1

표준 게이트웨이 인 것처럼 API 게이트웨이라는 용어를 쓰고 있습니다. 정확히 무엇인지 알고있을 것입니다. 그것은 아니며 우리는하지 않습니다. 더 많은 도움이 필요하면 아키텍처가 어떻게 작동하는지, 어떤 프로세스를 가지고 있는지, 요청이 다양한 프로세스를 통해 어떻게 전달되는지, 웹 소켓이 연결된 곳 등을 자세히 설명해야합니다. – jfriend00

+0

감사합니다. 응답. 하지만 내가 언급 한 API 게이트웨이는 마이크로 서비스 아키텍처의 맥락에 있습니다. http://microservices.io/patterns/apigateway.html –

답변

0

당신은 개념을 혼합해서는 안된다. API 게이트웨이는 클라이언트에서 인프라를 숨 깁니다. "프론트 엔드 용 백엔드"라는 의미에서 많은 서비스의 단일 프론트 엔드가 될 수 있습니다. 또한 인증과 같은 많은 다른 작업을 담당 할 수 있습니다.

웹 소켓 서버는 API 게이트웨이와 동시에 사용할 수 있습니다. 다른 도메인 또는 다른 포트. http://nchan.io과 같은 웹 소켓 서버를 사용한다고 가정 해 보겠습니다. 응용 프로그램의 이벤트는 메시지 브로커 또는 사용하는 모든 메시징 통합 패턴을 거치게됩니다. 소비자는이 이벤트를 선택하여 Nchan 서버를 통해 게시 할 수 있습니다. 클라이언트 (예 : 브라우저)는 Nchan 서버에 연결하고 이벤트에 대해 알립니다.

+0

내 혼란은 API 게이트웨이를 통해 또는 클라이언트에 직접 클라이언트에 통보됩니다. 나의 이해에 따라 처음에는 API 게이트웨이를 통해 연결이 설정되고 모든 통신은 알림 서버와 클라이언트간에 직접 일어납니다. –

+0

클라이언트가 서비스를 요청하려면 API 게이트웨이를 통과해야합니다. 클라이언트는 Web Socket Server와 직접 대화 할 수 있습니다. 처음에는 API 게이트웨이를 호출 할 필요가 없습니다. 웹 소켓 서버와 통신하기 전에 사용자를 인증해야합니까? 현재의 설정과 시도한 것에 대해 더 많은 정보가 필요할 수 있습니다. – marein