Kafka schema registry
· 6 min read
Sample code
Problems
- 메세지 스펙이 변경될 경우, 의존하고 있는 모듈 or Git Repository 마다 DTO 업데이트가 필요하다.
- 하위호환성이나 상위호환성이 자주 깨진다.
- DTO 관리의 복잡도가 선형적으로 증가한다.
- Java 는 특히 Json 기반의 메세지를 다루기에 불편한 점이 많다.
- 카프카는
ByteArray
형태로 메세지를 전송하나, 애플리케이션 레벨에서는 이를 역직렬화하여 관리하는 것이 권장된다.- payload 에 데이터를 담을 때마다
ByteArray
로 직렬화하는 과정, 그리고 이 반대 과정이 매번 이루어진다. - 코드 복잡도 상승
- ByteArray - JSON - Object
- payload 에 데이터를 담을 때마다