카프카 시스템에 대해 이해하기 위해 먼저 메시징 시스템에 대한 정의와 특징을 정리했습니다.
메시징 시스템은 서로 다른 프로그램 끼리 정보를 교환하기 위해 통합채널로 활용한다.
여러 외부 애플리케이션이나 하나 이상의 데이터 소스로부터 데이터를 받는 애플리케이션에 의해 처리된 데이터를 사용하는 애플리케이션이 해당 시스템을 사용하는 경우다.
느슨한 연계
애플리케이션의 상호 간에 의존성을 최소화 하는 것이다. 즉 어떠한 변경이 한쪽에서 발생할 경우 다른 프로그램은 영향을 받지 않는다.
공용 인터페이스 정의
애플리케이션 간에 데이터 교환을 위해서 공용으로 규정된 데이터 형식을 보장해야한다.
응답속도
메시지 전송부터 수신까지 소요되는 시간
신뢰성
일시적인 강요성 문제가 발생해도 정보를 교환하는 관련 애플리케이션에 영향을 주지 않는다는 것을 말한다.
메시지 큐
메시지 패킷을 수신하고, 그것을 다시 수신 프로그램으로 주기적이고 신뢰할 수 잇는 방법으로 보내는것
센더(프로듀서)
애플리케이션은 특정 목적지로 보내야 하는 데이터 소스, 메시지 큐의 종점에 연결을 생성하고, 공통 인터페이스 표준에 맞게 더 작은 메시지 패킷으로 데이터를 보낸다.
리시버(컨슈머)
샌더 애플리케이션에 의해 전송된 메시지를 수신한다. 메시지 큐에서 데이터를 가져오거나 지속적인 연결을 통해 메시지 큐에서 데이터를 받는다.
구독자가 특정 토픽이나 이벤트에 대해서 어떤 구독 의사를 등록하고, 해당 이벤트에 대한 메시지를 비동기 방식으로 받는것
다음에는 AMQP -> 카프카에 대한 설명을 추가적으로 블로그할 생각이다.