-
2024.05.30 High-Level System ArchitectureTIL 2024. 5. 31. 00:03
High-Level System Architecture of Booking.com
booking.com의 아키텍처를 설명한다.
여러 서비스로 분산된 MSA 구조를 띄고 있다.
검색등 사용자 빈도가 높은 서비스가 있는 반면 사용자 접근이 적은 서비스가 있다.
이를 한데 묶는 거보다 빈도가 높은 서비스를 확장하는 것을 선택했다.
DB는 RDB를 선택했고 ACID 속성이 예약 서비스에선 중요한 역할을 하기에 선택 이유 중 하나이다.
또 복잡한 관계를 처리하고 트랜잭션의 무결성도 중요하다. 관리도 단순화되기에 선택의 이유이다.
기술 선택의 이유
기술 선택이 관습으로 되는 경우가 있다. spring boot, mysql..,
관습으로 선택했더라도 이유를 말할 수 있어야 한다.
서비스 간 통신은 service mesh라는 아키텍처를 띤다.
음 처음 들어보는 아키텍처이다.
서비스 앞단에 프락시를 사이드 카 패턴으로 두는 방식으로 구현한다고 한다.
사이드 카는 기존 애플리케이션에서 부가 기능을 따로 분리해서 띄우는 것으로 보면 된다.
장점은 서비스 발견이나 리트라이, 타임아웃 제어 등을 할 수 있다고 한다.
음 확실히 리트라이, 서비스 발견은 좋은데.. 서비스가 많아지면 연동이 힘들어지니.
너무 많은 서비스가 있다면 이점이 있겠지만 적은 서비스에서는 오버 엔지니어링이 될 수 있겠다.
빅테크기업에서나 쓸 수 있어 보인다.
'TIL' 카테고리의 다른 글
2024.06.05 12 common software architecture styles (0) 2024.06.05 2024.06.03 Design a Real-Time Leaderboard system (0) 2024.06.03 2024.05.29 CQRS in Action (0) 2024.05.29 2024.05.27 StackOverflow Monolithic Architecture (0) 2024.05.27 2024.05.26 Load Balancing Challenges in Apache Kafka (0) 2024.05.26