카프카 transaction 처리는 어떻게 해야할까?
카프카를 사용하면서 트랜잭션 처리가 가능할까?
테스트 코드
프로듀서
public void sendMessage(String message) {
ProducerRecord<String, Object> record = new ProducerRecord<>("TEST", TestMessage.builder().message(message).build());
multiTypeKafkaTemplate.send(record);
}컨슈머
비즈니스 로직
잘 컨슈밍 되는지 로그를 확인해보자

그럼 exception이 발생하면 어떻게 될까?
서비스로직에 exception을 추가해보자
메시지 컨슈밍되는지 확인해보자

그럼 트랜잭션이 실패하면 메시지 컨슈밍도 롤백하려면 어떻게 해야 할까?
오잉? 그럼 기본 설정은 어떻게 되어있지?

그렇다면 트랜잭션 처리가 되어있지 않은 경우엔 어떻게 될까?

컨슈머는 어떻게 트랜잭션 처리가 되었는지 알수 있을까?

Last updated