12 days of Apache Kafka - 1. Introduction
www.youtube.com/watch?v=qu96DFXtbG4
카프카란 무엇인가?
store process 와 실시간 스트리밍 데이터를 대용량으로 다루는 이벤트 스트리밍 플랫폼.
로깅, 스트림, pub-sub 등 다양한 곳에 이용할 수 있다.
Event 란 무엇인가?
'일어난 일', 어떤 것이든 이벤트가 될 수 있다.
온도 정보.. 등등 과 같은 정보, 날짜가 경과 했음을 알리는 고지서, 사용자가 화면을 클릭하거나 드래그 하는 경우, 마이크로 서비스에서 어떤 변화 등등 모든 것이 이벤트가 될 수 있다.
Event = Notification + State
이벤트는 Notification 과 State 로 말할 수 있다.
Notificaiton 은 '언제(wheness)' 의 관점으로 어떤 것의 트리거로서의 역할이 될 수 있다.
State 는 serialized 된, JSON, JSON schema, Avro, Protocol buffers... 이다.
Key-Value
kafka 내부에서는 key 와 value 는 바이트일 뿐이다. type loosely 하다. 하지만 외부적으로는 그렇진 않다. 사용하는 프로그래밍 언어에 따라 데이터 스트럭쳐가 될 수 있다.
Value 는 serialized 된 객체, 어플리케이션 도메인 객체, raw message data form 으로 구성된다.
Key 는 복잡한 도메인 객체가 될 수 있다. 하지만 보통 primitive 타입인 String, Integer 로 구성된다.
r database 의 primary key 와는 다르다. entity의 identifier 와 더 공통점을 많이 가지고 있다.