카프카
-
Kafka - Acks 옵션개발/백엔드 2022. 7. 26. 10:50
메시지의 손실을 방지하기 위한 전달 완료 확인 옵션인 acks 옵션. 간단히 말하면, acks = 0 이면 메시지 전달을 확인하지 않는다. acks = 1 이면 브로커 중 리더에 대해서만 메시지를 수신했는지 확인한다. acks = -1 이면 리더와 팔로워 브로커 모두에 대해 메시지를 수신했는지 확인한다. 몇 개의 팔로워까지 확인을 하는지는 추가적인 옵션(min.insync.replicas)에 따라 설정 가능하다. 자세한 내용은 다음 링크의 글쓴이분이 자세히 설명을 해주셨으니 참고바람. https://www.popit.kr/kafka-%EC%9A%B4%EC%98%81%EC%9E%90%EA%B0%80-%EB%A7%90%ED%95%98%EB%8A%94-producer-acks/
-
Transaction에 대해개발/백엔드 2022. 7. 18. 21:39
여러 읽기/쓰기를 논리적으로 하나로 묶은 단위 트랜젝션 시작 - 여러 쿼리 실행 - 커밋(DB에 반영) 또는 롤백 모두 커밋(DB에 반영) 또는 롤백 이러한 트랜젝션(최소 단위)가 없다면, 클라이언트가 요청을 보내고 다시 그 결과를 받기 전까지 여러 쿼리문이 실행될 텐데, ex) 1.1: select - 1.2: update - 1.3 insert .... 여기서 1.3에만 문제가 발생한다면?... 위의 쿼리문이 실행되는 도중 문제가 발생해 중단된다면 원상복귀를 위해 1.3을 제외한 1.1, 1.2만 revert해야하는 참사가 발생함. 이러한 상황을 그저 하나의 트랜젝션을 롤백해주는 것만으로 해결. 트랜젝션의 범위는 커넥션 기준. 여러 메서드 호출이 하나의 커넥션으로 묶여야함. 그렇지 않으면 이미 특정 ..