transaction
-
[Kafka] - 15. EOS Transaction개발/Kafka 2022. 8. 10. 17:31
1. Transaction Concept EOS를 처리하기 위해 하나의 Logic으로 처리되어 필요한 개념 1-1) Transaction Coordinator 각 Producer에게는 Transaction Coordinator가 할당되며, PID 할당 및 Transaction 관리의 모든 Logic을 수행한다. 1-2) Transaction log 새로운 Internal Kafka Topic으로, Consumer offset topic과 유사하게, 모든 Transaction이 영구적이고, 복제된 Record를 저장하는 Transaction Coordinator Status 저장소 1-3) TransactionalId Producer를 고유하게 식별하기 위해 사용한다. 동일한 TransactionalID를..
-
[Kafka] - 14. EOS(Exactly Once Symantics)개발/Kafka 2022. 8. 10. 15:07
Symantics 1. At-Most-One Semantics ( 최대 한번 전송 ) Producer Acks=1 확인 시간이 초과되거나 오류가 Response되어도, Producer가 재전송하지 않아 Message가 Kafka Topic에 기록되지 않고, Consumer에 전달되지 않는다. 2. At-Least-Once Semantics ( 최소 한번 전송 ) Producer ACKS=ALL,-1 Producer가 Broker로 부터 ACK를 수신, ALL인 경우에는 Topic에 최소 한번 작성된 것을 의미한다. ACK가 시간 초과나 오류를 Response하면, Message가 기록되지 않는 것으로 판단하여 Message를 Retry 처리한다. 이로 인해 Message가 중복되어 저장 될 수 있다. 3..