pile·
백엔드·카카오페이kakaopay·

멀고도 험난했던 개발 지원이 중단된 Library 연동 과정

문제카카오페이가 개발 지원이 중단된 외부 업체의 레거시 시스템과 연동하면서 망 분리, 설계도 없는 API, 물리서버와 클라우드의 환경 차이, SNI 등의 난관에 부딪혔다.

접근IPSec VPN과 nginx provisioning으로 게이트웨이를 만들고 httpServletRequest 로그를 분석해 SOAP 통신 방식을 역설계했으며 ClassPathResource로 K8s 환경에서 리소스를 임시 디렉토리에 풀고 SNI 제거된 공인 IP를 새로 받았다.

결과프로젝트를 정상 오픈해 기존 수동 안내 메일 업무를 자동화했고 레거시 연동에서 자주 만나는 패턴을 정리해 재사용 가능한 절차로 남겼다.

카카오페이
카카오페이 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 백엔드·stackoverflow-blogstackoverflow-blog·

    Compile-Time Map and Compile-Time Mutable Variable with C++26 Reflection

    문제C++ 컴파일 타임에는 상태를 수정할 수 없어 mutable 변수나 키-값 맵을 표현하기 어렵다.

    접근C++26 리플렉션의 substitute, is_complete_type, define_aggregate 세 함수로 incomplete template specialization 을 저장소로 사용한다. 조건부로 type 을 complete 시켜 타입 시스템에 상태를 인코딩한다. compile-time ticket counter, immutable map, mutable variable 세 구현을 보인다.

    결과meta::info 를 키와 값으로 모두 쓰는 다형적 저장 구조를 얻고, 전처리기로는 불가능했던 stateful metaprogramming 이 가능해진다. 단일 pair 는 불변이며 mutable 은 여러 기법 조합으로 달성한다.

    #cpp#reflection#metaprogramming+1
  2. 백엔드·네이버페이네이버페이·

    Composite PK에서 시작된 Spring Boot 4 / Spring Batch 6 업그레이드 기록

    문제Spring Data JDBC 의 Composite ID 적용을 위해 Spring Boot 3.5 → 4.0.1 업그레이드 시 Spring Batch, Kotlin, Jackson 등 전체 스택 메이저 전환 필요.

    접근Spring Boot 4 / Spring Batch 6 / Spring Framework 7 / Kotlin 2.3 / Jackson 3 / Kotest 6 / Gradle 9 / ojdbc11 순차 업그레이드. Composite ID 는 Persistable 인터페이스로 구현, JdbcDefaultBatchConfiguration 상속으로 메타데이터 저장.

    결과기술 부채 해결 + 장기 유지보수성 개선. 운영 DB 접근 정책 충돌을 사전 식별해 안정적 배포 달성.

    #kotlin#spring#spring-boot+3