Home
Middleware
카프카 토픽 이름 정하기 (Kafka Topic Naming Conventions)
devfoxstar
devfoxstar
August 08, 2022
1 min

Table Of Contents

01
몇 가지 규칙
02
추천 예제
03
결론

개발자에게 네이밍 작업은 언제나 귀찮습니다.
가끔 재밌을 때도 있지만, 그건 정말 가끔입니다.

최근에 카프카 개발을 하면서, 토픽 이름을 어떻게 할지 고민해 봤습니다.
메세지 연동이 많아질수록, 토픽 이름은 더욱 중요해 집니다.

토픽 이름만으로 작업을 알 수 있어야 하기 때문입니다.


몇 가지 규칙

카프카 토픽에 유효한 문자는 영숫자, 마침표(.), 밑줄(_), 하이픈(-) 입니다.
보통 영숫자로 의미를 부여하고, 나머지를 연결자로 사용합니다.

의미를 부여할 수 있는 항목은 많습니다.

Application name
Product
Domain name
Schema name
Namespace
Development environment
Public / Private
Consumer name
Event name
Event type 
Data Type   
Message Type  
Version numbers
...

여기에 개발 조직에 맞는 표기법을 적용하면 됩니다.
다양한 표기법이 있지만, 개발 조직마다 선호하는 표기법은 다릅니다.

TopicName
TopicName
topicName
topicname
topic-name
topic_name

추천 예제

개인적으로는 영문 소문자로 구성하고 연결자는 점으로 활용하는 방식을 선호합니다.
그럼 아래 조합은 어떻게 나올까요?

어플리케이션의 구성이나 환경에 따라 달라질 수 있습니다.
거기에 개발 조직의 선호도에 따라 네이밍 규칙은 달라집니다.

· [application name].[namespace].[data type].[event type]
  devfoxstar.blog.posting.sending  

· [namespace].[data type].[event type].[version numbers]
  blog.posting.sending.0  

· [development enviroment].[application name].[namespace].[data type].[event type]
  dev.devfoxstar.blog.posting.sending

결론

사실 네이밍 규칙은 수 많은 경우의 수가 있습니다.
그래서 네이밍에 정답은 없습니다.

개발 조직에서 효율적으로 관리할 수 있는 네이밍이 바로 정답입니다.


Tags

#Middleware#Kafka#Topic#Naming

Related Posts

미들웨어의 정의와 특징 (Middleware Definition)
September 20, 2022
1 min
© 2024, All Rights Reserved.

Quick Links

About Me

Media