티스토리 뷰

카테고리 없음

메시지 발행 구독

sanook 2020. 2. 3. 23:19

메시지 발행 / 구독 (publish / subscribe) 시스템에서는 데이터(메시지)를 발행자(전송자)가 직접 구독자(수신자)에게 보내지 않는다.

대신, 발행자가 어떤 형태로든 메시지를 구분해서 발행 /구독 시스템에 전송하면 구독자가 특정 부류의 메시지를 구독 할 수 있게 해준다.

이때 발행된 메시지를 저장하고 중계하는 역할을 브로커가 수행한다.

 

초기의 발행 / 구독 시스템

간단한 메시지 큐나 프로세스 간 통신 채널을 갖는 형태로 시작한다

ex ) 메트릭을 전송하는 애플리케이션 서비스(프론트엔드 서버) + 화면에 정보를 보여주는 애플리케이션 서비스(메트릭 UI 서버)

-> 메트릭을 받아 저장하고 분석하는 새로운 애플리케이션 서비스(메트릭 분석 서버) 추가

- 애플리케이션에서 메트릭 UI 서버와 분석 서버 모두에 메트릭을 전달하도록 수정 

+ 메트릭을 생성하는 애플리케이션이 있다면 그것도 두개의 서비스에 연결

+ 요청이 오는 즉시 메트릭을 제공할 수 있도록 각 애플리케이션을 추가 

=> 발행자와 구독자가 직접 연결된 메트릭 발행 / 구독 아키텍쳐 발생 

-> 모든 애플리케이션의 메트릭을 하나의 애플리케이션이 수신하게 하고, 하나의 서버로 제공

= 해당 메트릭이 필요한 어떤 시스템에서도 쉽게 조회 가능 

 

개별적인 메시지 큐 시스템

메트릭, 로그 메시지, 추적 메시지 발행 / 구독 서버등 각각 구축할 수 있지만, 많은 기능이 중복되어 다수의 메시지 처리 시스템을 유지 관리해야 하며, 또 다른 종류의 메시지를 처리하려면 새로운 시스템을 추가해야 한다.

 

결론

일반화된 유형의 메시지 데이터를 발행 / 구독하는 하나의 집중 처리 시스템으로 만들면 유연성이나 확장성이 모두 좋아짐

 

 

 

 

 

 

출저 : 네하 나크헤데, 그웬 샤피라, 토드 팔리노. "카프카 핵심가이드" .제이펍.2018년

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함