아키텍처 기술 블로그 최신 글

필터 0
선택된 필터 없음
7ms로 끝내는 인가 체크, flex는 아키텍처부터 다르게 설계합니다
flex
아키텍처

7ms로 끝내는 인가 체크, flex는 아키텍처부터 다르게 설계합니다

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

#Kafka#transaction
1900
BFF(Backend for Frontend) 가 여기어때에서 하는 일
여기어때
아키텍처

BFF(Backend for Frontend) 가 여기어때에서 하는 일

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

#BFF#REST API
22200
에러 0%, MSA에서의 Enum 관리 전략
토스
아키텍처

에러 0%, MSA에서의 Enum 관리 전략

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

#MSA#Java
25700
왜 팔도감은 마이크로서비스에서모놀리스로 전환했을까?
라포랩스
아키텍처

왜 팔도감은 마이크로서비스에서모놀리스로 전환했을까?

팔도감은 작은 조직 규모와 운영 복잡도를 고려해 MSA 대신 모듈리스 구조로 전환했습니다. Git Submodule, Gradle Composite Build, 코드 리팩터링 도구로 마이크로서비스 코드를 통합했습니다.

#MSA#Gradle
11000
헥사고날의 법칙
사람인
아키텍처

헥사고날의 법칙

헥사고날 아키텍처를 빌링 서비스에 도입한 경험과 구조를 정리했습니다. 외부 의존성을 분리해 유지보수성과 확장성을 높였지만, 초기 설계와 팀 합의가 중요했습니다.

#헥사고날 아키텍처#REST API
3700
코드 품질 개선 기법 14편: 책임을 부여하는 오직 하나의 책임
라인
아키텍처

코드 품질 개선 기법 14편: 책임을 부여하는 오직 하나의 책임

책임을 분리하면 코드가 더 깔끔해질 것 같지만, 제약 조건과 의존성이 오히려 흩어질 수 있었습니다. 클래스 분할뿐 아니라 호출자 부담과 결합도까지 함께 살펴야 했습니다.

#refactoring#디자인패턴
15500
레거시를 대물림하지 않는 아키텍처: flex의 5년간의 여정
flex
아키텍처

레거시를 대물림하지 않는 아키텍처: flex의 5년간의 여정

플렉스팀이 5년간 Monolith에서 MSA까지 아키텍처를 진화시키며 레거시를 줄인 과정을 공유했습니다. 변경 파급효과를 줄이기 위한 구조 분리와 Auto Configuration 활용이 핵심이었습니다.

#MSA#Kotlin
2800
전체 서비스를 관통하는 도메인 모듈을 안전하게 분리하기
우아한 형제들
아키텍처

전체 서비스를 관통하는 도메인 모듈을 안전하게 분리하기

WMS의 입고·재고·출고가 얽힌 구조를 재고 도메인부터 분리해 안전하게 개선했습니다. 헥사고널 아키텍처, 피처 플래그, 테스트와 문서화로 큰 변경을 점진적으로 배포했습니다.

#MSA#헥사고널 아키텍처
5000
코드 품질 개선 기법 13편: 클론 가족
라인
아키텍처

코드 품질 개선 기법 13편: 클론 가족

두 상속 트리의 암묵적 대응 관계가 타입 안전성 문제를 만들 수 있음을 설명했습니다. 상속 대신 컴포지션을 쓰거나 제네릭으로 반환 타입을 명시하는 방법을 제안했습니다.

#Kotlin#generics
9400
데이터를 잘 나누자 Part 1: 파티셔닝, Z-order curve
데보션
아키텍처

데이터를 잘 나누자 Part 1: 파티셔닝, Z-order curve

대량 데이터를 효율적으로 나누는 파티셔닝과 Z-order curve 개념을 설명했습니다. 날짜·플레이어 같은 다양한 탐색 조건에 맞춰 저장 구조를 설계하는 방법을 다뤘습니다.

#파티셔닝#Z-order curve
11400
카카오페이 여신코어 DDD(Domain Driven Design, 도메인 주도 설계)로 구축하기
카카오페이
아키텍처

카카오페이 여신코어 DDD(Domain Driven Design, 도메인 주도 설계)로 구축하기

카카오페이 여신코어를 DDD와 멀티모듈 구조로 내재화한 과정을 공유했습니다. 도메인 경계, 공통 언어, Entity 분리를 통해 복잡한 여신 업무를 견고하게 설계한 사례입니다.

#DDD#Spring Boot
21000
코드 품질 개선 기법 12편: 세트 할인
라인
아키텍처

코드 품질 개선 기법 12편: 세트 할인

가변 속성을 개별적으로 바꾸면 이전 값이 남아 버그가 생길 수 있었습니다. 정책 객체로 묶어 상태 갱신 시점과 조합을 제한하는 방식이 더 안전했습니다.

#Kotlin#동시성
5700
MCP와 AI Agent가 싸운다: 당신의 설계는 안전한가?
QueryPie
아키텍처

MCP와 AI Agent가 싸운다: 당신의 설계는 안전한가?

MCP 서버와 AI 에이전트의 역할을 명확히 구분해야 한다는 설계 원칙을 정리했습니다. 실행 통제와 감사 가능성을 위해 별도 보안 계층이 필요하다고 설명했습니다.

#MCP#AI Agent
2400
MCP와 AI Agent가 싸운다: 당신의 설계는 안전한가?
QueryPie
아키텍처

MCP와 AI Agent가 싸운다: 당신의 설계는 안전한가?

MCP 서버와 AI 에이전트의 역할을 분리해 보안 설계 원칙을 설명했습니다. 실행 통제와 감사 가능성을 위해 MCP Agent PAM 같은 보완 계층의 필요성을 강조했습니다.

#MCP#AI Agent
1900