kafka 2

메시지 브로커 비교 (Apache Kafks vs RabbitMQ vs ActiveMQ)

메시지 브로커의 도입 배경 프로그램의 동작 방식을 실시간으로 제어하기 위해, 서버로부터 임의의 시점에 데이터를 수신해야 하는 경우가 발생하였습니다. 클라이언트가 자신에게 설정된 신규 정책이 있는지 서버에 주기적으로 확인하는 Polling 방식(또는 주기적인 체크가 부담스러울 경우 Long Polling 방식) / 웹 소켓 등 현재 알고 있는 통신 방식이 후보에 올랐으며, 이 외에 다른 통신 기법이 있는지 추가적인 확인을 하게 되었습니다. 자료를 찾던 도중 [메시지 브로커] 라는 개념을 접하게 되었으며, 프로젝트에 적용하기에 적합한 기술인지 확인하게 되었습니다. 메시지 브로커 비교 (Apache Kafka vs RabbitMQ vs ActiveMQ) Apache Kafka [메시지 브로커 도입기] - Ap..

Apache Kafka 조사

Apache Kafka Kafka는 대용량의 실시간 로그 처리에 특화되어 설계된 시스템으로, 메시지를 topic을 통해 카테고리화 하는 pub-sub 모델을 이용합니다. 이 모델에서 메시지의 생산자는 topic에 대한 정보만 알고 있으며, 수신자도 마찬가지로 topic만 바라보는 형태가 됩니다. (생산자와 소비자 모두 하나 이상의 topic을 대상으로 할 수 있습니다.) 메시지는 topic으로 분류되며, topic은 또 여러 개의 파티션으로 나눠질 수 있습니다. 여기에서 파티션 내의 한 칸을 '로그'라고 하며, 각 데이터는 로그에 순차적으로 삽입됩니다. 메시지 소비자는 topic을 구독함으로써 자신의 H/W 성능에 맞게 조절해가면서 소비가 가능해집니다. 이 때 소비를 했다는 표시는 각 파티션에 존재하는 ..