Post

항해 플러스 백엔드 과정 9주차 회고


Keep: 현재 만족하고 계속 유지할 부분

  • Kafka 메시지 발행의 신뢰성을 높이기 위해 Outbox 패턴을 잘 적용하여, 시스템의 안정성과 메시지 발행 실패 시의 복구력을 강화한 점.
  • 다양한 시나리오를 통해 패턴의 효과를 충분히 검증한 점.
  • 서로 다른 컨슈머 스레드를 그룹 ID를 다르게 설정하여 병렬 처리하도록 구성한 점.
  • 테스트 컨테이너를 통해 Kafka 테스트 환경을 격리한 점.

Problem: 개선이 필요하다고 생각하는 문제점

  • KafkaProducer가 /support 영역에 위치하여 애플리케이션 전반에서 과도하게 접근될 수 있는 문제가 있었습니다.
  • Serializer/Deserializer를 적용했으나, 메시지를 원하는 타입으로 직접 받아 처리하는 방식이 미흡하여 코드의 가독성과 유지보수성을 개선할 필요가 있었습니다.

Try: 문제점을 해결하기 위해 시도해야 할 것

  • KafkaProducer를 인프라 의존적인 영역에 적절히 배치하고, 클린 아키텍처 원칙을 준수할 수 있도록 캡슐화하여 사용 범위를 제한하겠습니다.
  • Kafka 관련 기능이 특정 도메인 로직을 침범하지 않도록 구조를 개선하겠습니다.
  • Kafka 통합 테스트를 강화하여 시스템의 신뢰성을 더욱 높일 수 있도록 테스트 시나리오를 확장하겠습니다.
  • 메시지를 원하는 타입으로 직접 받을 수 있도록 Serializer/Deserializer를 활용하여 코드 리팩토링을 진행하겠습니다.
This post is licensed under CC BY 4.0 by the author.