티스토리 뷰
메시지 발행 / 구독 (publish / subscribe) 시스템에서는 데이터(메시지)를 발행자(전송자)가 직접 구독자(수신자)에게 보내지 않는다.
대신, 발행자가 어떤 형태로든 메시지를 구분해서 발행 /구독 시스템에 전송하면 구독자가 특정 부류의 메시지를 구독 할 수 있게 해준다.
이때 발행된 메시지를 저장하고 중계하는 역할을 브로커가 수행한다.
초기의 발행 / 구독 시스템
간단한 메시지 큐나 프로세스 간 통신 채널을 갖는 형태로 시작한다
ex ) 메트릭을 전송하는 애플리케이션 서비스(프론트엔드 서버) + 화면에 정보를 보여주는 애플리케이션 서비스(메트릭 UI 서버)
-> 메트릭을 받아 저장하고 분석하는 새로운 애플리케이션 서비스(메트릭 분석 서버) 추가
- 애플리케이션에서 메트릭 UI 서버와 분석 서버 모두에 메트릭을 전달하도록 수정
+ 메트릭을 생성하는 애플리케이션이 있다면 그것도 두개의 서비스에 연결
+ 요청이 오는 즉시 메트릭을 제공할 수 있도록 각 애플리케이션을 추가
=> 발행자와 구독자가 직접 연결된 메트릭 발행 / 구독 아키텍쳐 발생
-> 모든 애플리케이션의 메트릭을 하나의 애플리케이션이 수신하게 하고, 하나의 서버로 제공
= 해당 메트릭이 필요한 어떤 시스템에서도 쉽게 조회 가능
개별적인 메시지 큐 시스템
메트릭, 로그 메시지, 추적 메시지 발행 / 구독 서버등 각각 구축할 수 있지만, 많은 기능이 중복되어 다수의 메시지 처리 시스템을 유지 관리해야 하며, 또 다른 종류의 메시지를 처리하려면 새로운 시스템을 추가해야 한다.
결론
일반화된 유형의 메시지 데이터를 발행 / 구독하는 하나의 집중 처리 시스템으로 만들면 유연성이나 확장성이 모두 좋아짐
출저 : 네하 나크헤데, 그웬 샤피라, 토드 팔리노. "카프카 핵심가이드" .제이펍.2018년
- Total
- Today
- Yesterday
- 글또
- 처리율제한
- 알고리즘
- 이동 윈도우 카운터 알고리즘
- 이동 윈도우 로깅 알고리즘
- 고정 윈도우 카운터 알고리즘
- 누출 버킷 알고리즘
- 처리율 제한 알고리즘
- 개발자
- 카카오프로젝트100
- 회고
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |