확장성 있는 TCP 통신 시스템 구축하기

확장성 있는 TCP 통신 시스템 구축하기

11
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

확장성 있는 TCP 통신 시스템 구축하기

이 게시물은 당근페이 머니서비스팀에서 TCP 통신을 활용한 대외기관 연동 시스템 구축 과정을 소개합니다.

주요 내용

  • HTTP 통신에서 TCP 통신으로의 전환 배경과 TCP 전문의 구조 및 통신 방식(동기/비동기) 설명
  • TCP Gateway 아키텍처 설계 및 Netty 프레임워크를 활용한 전문 변환, 세션 생성, 데이터 송수신 구현
  • 비동기 통신에서의 세션 관리와 Redis Pub-Sub를 활용한 요청-응답 매핑 방식
  • 연동 중 겪은 세션 불일치와 패킷 잘림 문제 및 해결 방법

구현과 개선

  • ConnectionManager를 통한 동기/비동기 세션 관리
  • Netty의 ChannelPipeline과 Handler를 활용한 전문 인코딩/디코딩
  • 비동기 통신 문제 해결을 위한 Redis 이벤트 발행 및 수신 구조
  • TCP 패킷 분할 문제를 해결하기 위한 커스텀 ByteToMessageDecoder 구현

성과

  • TCP Gateway 도입 후 다양한 대외기관과 안정적이고 확장성 있는 연동 가능
  • 네트워크 이해도 향상 및 문제 해결 경험 축적으로 생산성 및 안정성 강화