
헥사고날의 법칙
헥사고날 아키텍처를 결제 후처리와 외부 시스템 연동 서비스에 도입한 경험을 정리했습니다. 핵심 도메인 분리로 확장성과 유지보수성을 높였지만, 초기 설계와 팀 합의에 비용이 들었습니다.

헥사고날 아키텍처를 결제 후처리와 외부 시스템 연동 서비스에 도입한 경험을 정리했습니다. 핵심 도메인 분리로 확장성과 유지보수성을 높였지만, 초기 설계와 팀 합의에 비용이 들었습니다.


Data Ontology 구축을 위해 Data Lineage로 Mart 데이터의 속성과 관계를 추출하는 방법을 소개했습니다. JsqlParser 기반 Table Level Lineage 파싱으로 WITH, INSERT, JOIN 흐름을 분석했습니다.

앱스토어의 동기 호출 중심 구조를 인메모리 이벤트 버스로 분리해 결합도를 낮췄습니다. 트랜잭션 훅과 비동기 핸들러를 지원해 확장성과 유연성을 높였습니다.

빌더 패턴은 편리하지만 필수 인수 누락을 런타임에 드러내기 쉬워 더 견고한 대안이 필요했습니다. 특별한 이유가 없다면 생성자나 팩토리 함수로 대체하는 방식을 제안했습니다.


알라딘은 백오피스 인증을 Amazon Cognito와 API Gateway로 중앙화하고, 인가는 Keycloak으로 분리했습니다. 이를 통해 보안 정책 표준화와 운영 효율, MSA 확장성을 함께 확보했습니다.

널 객체 패턴은 호출부를 단순하게 만들 수 있지만, 오류 값과 정상 값을 구분해야 할 때는 부적합했습니다. 타입으로 구분 가능한 경우에는 Optional이나 null 같은 정적 표현을 우선 고려해야 했습니다.

Spring Modulith를 활용해 모놀리스와 MSA 사이에서 도메인 경계를 강제한 실무 경험을 정리했습니다. 불확실한 전환기에 논리적 모듈 분리로 운영 부담과 결합도를 함께 줄인 사례를 공유했습니다.


사내 빅데이터 플랫폼에서 Istio Ambient Mesh를 검토했지만, 대규모 분산 트랜잭션 환경에는 적합하지 않다고 판단했습니다. ztunnel 병목과 CNI 제약 때문에 다른 네트워크 최적화 방안을 추가 검증하기로 했습니다.

무진장 이벤트의 초고트래픽을 버티기 위해 전시, 주문, 재고, 쿠폰, 운영 전반을 재설계했습니다. CQRS, 이벤트 기반 처리, AIOps와 피처 플래그로 안정성과 대응력을 높였습니다.


분산환경의 메시지 신뢰성과 인가 성능을 동시에 해결하기 위해 구조를 분리한 사례를 소개했습니다. 모든 요청의 권한 체크를 평균 7ms 이내로 처리하도록 설계했습니다.

여기어때의 BFF가 각 클라이언트에 맞춘 API와 데이터 가공을 맡는 역할을 소개했습니다. 성능 최적화, 보안 분리, 독립 배포 측면의 장점도 함께 정리했습니다.

MSA에서 공용 Enum의 버전 불일치로 생기는 Deserialize 에러를 줄이기 위한 관리 전략을 소개했습니다. 문자열 래핑, 빌드 규칙, 메타 감시로 안전성을 높였습니다.