🕰️ 작성일 : 2025.06.25
Q : Amazon MSK의 Configuration을 업데이트하고자 합니다. message.max.bytes
의 Configuration을 추가하고자 할 경우 클러스터에 어떤 영향이 있을까요?
A : Amazon MSK는 Configuration 업데이트 시 기본적으로 하나의 브로커씩 업데이트를 적용하는 Rolling 방식의 업데이트를 수행합니다. 그러나 클러스터 전체에 영향을 주는 구성 변경의 경우 전체가 잠시 중단될 수 있습니다. 업데이트하고자 하는 max.message.bytes
는 한번에 토픽에 전송 할 수 있는 레코드의 최대 메세지 크기이기 때문에 Topic-Level의 Configuration 입니다. 이는 클러스터 전체 업데이트가 아닌 Rolling 방식의 업데이트로 진행됩니다.
max.message.bytes
의 기본 값을 2MB로 추가합니다.message.max.bytes=2097152
Configuration을 업데이트 하는 과정에서 MSK Cluster가 계속 Active 상태임을 확인하기 위해 Consumer와 Producer을 생성합니다.
Configuration 변경 작업을 시작하고 MSK의 상태를 계속 모니터링
UPDATE
상태로 변경되며 브로커 하나 씩 업데이트를 진행함.기존의 리더 파티션을 보유하고 있는 1번 Broker의 업데이트를 위해 브로커 Restart 시 Client 단에서 네트워크 연결 문제 발생. 이는 Kafka의 내부 로직으로 리더 브로커가 변경되는 사항에서 발생하는 것으로 발생.
기존의 토픽의 리더 파티션이 속했던 1번 브로커가 Shutdown 이후 리더 브로커에 대한 정보가 2번 브로커로 변경 된것을 확인 할 수 있음.
message.max.bytes
값이 2MB로 변경 된 것을 확인 할 수 있습니다.[ec2-user@ip-10-10-10-246 bin]$ ./kafka-configs.sh --bootstrap-server $BOOTSTRAP_SERVERS --entity-type topics --describe --entity-name topic3
Dynamic configs for topic topic3 are:
max.message.bytes=64000 sensitive=false synonyms={DYNAMIC_TOPIC_CONFIG:max.message.bytes=64000, STATIC_BROKER_CONFIG:message.max.bytes=2097152, DEFAULT_CONFIG:message.max.bytes=1048588}