생산과 소비의 분리
생산자는 사건을 쓰고 소비자는 구독한 사건을 읽어 처리한다. 서로의 실행을 직접 제어하지 않고 토픽을 사이에 두고 연결된다. 보관 기간을 설정할 수 있으며 소비자가 읽었다는 이유만으로 사건이 바로 삭제되지는 않는다.
파티션과 순서
토픽은 여러 파티션으로 나뉘어 브로커에 배치된다. 사건은 한 파티션의 뒤에 추가되며 그 파티션 안에서는 기록된 순서로 읽는다. 순서 보장의 범위는 토픽 전체가 아니라 개별 파티션이다.
저장과 처리 도구의 연결
토픽의 파티션을 복제해 여러 브로커에 자료를 보관할 수 있다. Kafka Connect는 외부 시스템과 자료를 주고받는 커넥터를 연결하고 Kafka Streams는 스트림의 변환과 상태 기반 처리 응용을 작성하는 라이브러리다.
관련 문서
Apache Samza / Apache Flink / Apache Beam / CloudEvents / AsyncAPI / 프로토콜 버퍼