내 연락처 정보
우편메소피아@프로톤메일.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
생산자는 메시지를 생성한 후 Kafka에 전달하는 일을 담당합니다.
Kafka의 기본 파티셔닝 전략: 키가 지정되면 동일한 키를 가진 메시지가 동일한 파티션으로 전송됩니다(파티션이 정렬됨). 키가 지정되지 않으면 폴링 전략이 사용됩니다.
acks는 메시지가 성공적으로 기록되었다고 간주하기 전에 생성자가 메시지를 수신해야 하는 파티션 복제본 수를 지정합니다.
세 가지 방법에는 장단점이 없으며 대신 현지 상황에 따라 적절한 전략을 선택해야 합니다. 성능과 안정성 사이에는 균형이 있습니다.
메시지를 보내는 방법에는 3가지가 있습니다.
acks = 0。
생산자는 메시지를 보낸 후 브로커의 응답을 기다리지 않습니다. 대부분의 경우 Kafka는 가용성이 높고 생산자가 자동으로 재전송을 시도하는 메커니즘을 갖고 있기 때문에 메시지가 성공적으로 전달될 수 있습니다. 그러나 재시도할 수 없는 오류나 시간 초과가 발생하면 메시지가 손실되고 애플리케이션은 어떤 정보나 예외도 수신하지 않습니다.
동일한 구성 환경에서 acks를 0으로 설정하면 최대 처리량을 얻을 수 있습니다.
acks=1, 기본값.
생산자가 메시지를 보낸 후 파티션의 리더 복사본이 메시지를 성공적으로 쓰는 한 서버로부터 성공적인 응답을 받게 됩니다.
acks = -1 또는 acks = 모두.
생산자는 메시지를 보낸 후 서버로부터 성공적인 응답을 받기 전에 ISR의 모든 복제본이 메시지를 성공적으로 쓸 때까지 기다려야 합니다.
동일한 구성 환경에서 acks를 -1(all)로 설정하면 가장 강력한 안정성을 얻을 수 있습니다. 그러나 이것이 메시지가 신뢰할 수 있어야 한다는 의미는 아닙니다. 왜냐하면 ISR에는 리더 복사본만 있을 수 있고 이는 acks=1 상황으로 변질될 수 있기 때문입니다.