728x90
토픽 이름 제약 조건
- 빈 문자열 토픽 이름은 지원하지 않는다.
- 토픽 이름은 마침표 하나(.) 또는 마침표 둘(..)로 생성될 수 없다.
- 토픽 이름의 길이는 249자 미만으로 생성되어야 한다.
- 토픽 이름은 영어 대소문자와 숫자 0부터 9 그리고 마침표(.), 언더바(__), 하이픈( - ) 조합으로 생성할 수 있다. 이외의 문자열이 포함된 토픽 이름은 생성 불가하다.
- 카프카 내부 로직 관리 목적으로 사용되는 2개 토픽(__consumer_offsets, __transaction_state)과 동일한 이름으로 생성 불가능하다.
- 카프카 내부적으로 사용하는 로직 때문에 토픽 이름에 마침표(.)와 언더바(_)가 동시에 들어가면 안 된다. 생성은 할 수 있지만 사용 시 이슈가 발생할 수 있기 때문에 마침표(.)와 언더바(_)가 들어간 토픽 이름을 사용하면 WARNING 메시지가 발생한다.
- 이미 생성된 토픽 이름의 마침표(.)를 언더바(_)로 바꾸거나 언더바(_)를 마침표로 바꾼 경우 신규 토픽 이름과 동일하다면 생성할 수 없다. 예를 들어, to.pic 이름의 토픽이 생성되어 있다면 to_pic이름의 토픽을 생성할 수 없다.
의미 있는 토픽 이름 작명 방법
의미 있는 토픽 이름을 작명하는 이유는?
토픽 이름을 모호하게 작성하면 유지보수 시 큰 어려움을 겪을 수 있다. 예를 들어, test-20210204, abcd, bigdata, test와 같은 토픽 이름은 어떤 용도로 누가 사용하고 있는지, 어떻게 만들어졌는지 알 수가 없으므로 지양해야 한다.
토픽 이름을 보고 어떤 시스템에서 사용하기 위한 토픽인지 유추가 가능해야 한다.
아래와 같은 적절한 예시가 있다.
토픽 작명의 템플릿과 예시
<환경>.<팀-명>.<애플리케이션-명>.<메시지-타입>
ex) prd.marketig-team.sms-platform.json<프로젝트-명>.<서비스-명>.<환경>.<이벤트-명>
ex) commerce.payment.prd.notification<환경>.<서비스-명>.<JIRA-번호>.<메시지-타입>
ex) dev.email-sender.jira-1234.email-vo-custom<카프카-클러스터-명>.<환경>.서비스-명>.<메시지-타입>
ex) aws-kafka.live.marketing-platform.json
중요한 것은 토픽 이름에 대한 규칙을 팀에서 정의하고 구성원들이 그 규칙을 잘 따르는 것이다.
'Kafka' 카테고리의 다른 글
Kafka Install 버전 설치 (0) | 2022.01.27 |
---|---|
Spring Kafka로 토픽 구독 (0) | 2022.01.26 |
토픽과 파티션, 레코드 (0) | 2022.01.26 |
Kafka에서 데이터 순서 보장하려면? (0) | 2022.01.26 |
Kafka 정리 (0) | 2022.01.26 |