3.2. 고가용성을 위한 항목 복제
기본 주제 속성에서는 주제가 자동으로 생성되는 시기를 포함하여 이러한 속성이 명시적으로 설정되지 않은 항목에 적용되는 기본 파티션 수 및 복제 요인을 설정합니다.
# ... num.partitions=1 auto.create.topics.enable=false default.replication.factor=3 min.insync.replicas=2 replica.fetch.max.bytes=1048576 # ...
고가용성 환경의 경우 복제 요소를 최소 3개로 늘리고 복제 요소보다 필요한 최소 동기화 복제본 수를 1개로 설정하는 것이 좋습니다.
생산자와 소비자가 필요한 경우 아직 존재하지 않는 항목이 자동으로 생성되도록 auto.create.topics.enable 속성이 기본적으로 활성화됩니다. 자동 주제 생성을 사용하는 경우 num.partitions 를 사용하여 주제의 기본 파티션 수를 설정할 수 있습니다. 그러나 일반적으로 이 속성은 명시적 주제 생성을 통해 주제를 통해 더 많은 제어가 제공되도록 비활성화되어 있습니다.
데이터 결함 의 경우 주제 구성에 min.insync.replicas 를 설정하고 생산자 구성에서 acks=all 을 사용하여 메시지 전달 ackedgment를 설정해야 합니다.
replica.fetch.max.bytes 를 사용하여 리더 파티션을 복제하는 각 추적자가 가져온 메시지의 최대 크기(바이트)를 설정합니다. 평균 메시지 크기 및 처리량에 따라 이 값을 변경합니다. 읽기/쓰기 버퍼링에 필요한 총 메모리 할당을 고려할 때 사용 가능한 메모리도 모든 불만족을 곱할 때 복제된 최대 메시지 크기를 수용할 수 있어야 합니다.
delete.topic.enable 속성은 주제가 삭제될 수 있도록 기본적으로 활성화되어 있습니다. 프로덕션 환경에서는 실수로 주제 삭제를 방지하기 위해 이 속성을 비활성화하여 데이터가 손실되지 않도록 해야 합니다. 그러나 임시로 활성화한 후 주제를 삭제한 다음 다시 비활성화할 수 있습니다.
OpenShift에서 AMQ Streams를 실행하는 경우 Topic Operator는 Operator 스타일 주제 관리를 제공할 수 있습니다. KafkaTopic 리소스를 사용하여 주제를 생성할 수 있습니다. KafkaTopic 리소스를 사용하여 생성된 주제의 경우 복제 요소는 spec.replicas 를 사용하여 설정됩니다. delete.topic.enable 이 활성화된 경우 KafkaTopic 리소스를 사용하여 항목을 삭제할 수도 있습니다.
# ... auto.create.topics.enable=false delete.topic.enable=true # ...