-
2024.06.05 12 common software architecture stylesTIL 2024. 6. 5. 21:55
12 common software architecture styles, essential for architects
음 여러 아키텍처들을 소개하고 있다.
소개전에 아키텍처 문서화에 대해서 이야기가 나오는데 이 부분은 좋은 거 같다.
1. 컨텍스트 수준에서의 설명이다. 사용자, 타 시스템, 규정 등 시스템의 목적과 외부 연관성을 설명한다.
2. 컨테이너 수준. 인프라를 설명한다.
3. 컴포넌트 수준. 시스템의 컴포넌트들, 블록들을 설명하고 연관관계를 설명한다.
4. 코드 수준, 코드의 작동방식을 설명한다.
문서화를 하게되면 위와 같은 순서로 하게 되는데 이게 전체적으로 파악하기 좋다.
소개되는 아키텍쳐 중 MSA의 장단을 따져보자면..
특정 서비스의 트래픽 급증을 쉽게 대응할 수 있고 기존 시스템을 건드리지 않고 서비스 추가, 수정할 수 있다는 장점이 있다. 유연성, 새로운 기능 출시등이 자유로운 것.
다만 복잡성이 증가하고 로드밸런싱등을 신경 써야 한다. 서비스 간 통신도 새롭게 정의해야 하고.
DB분리를 하는 경우는 데이터 동기화도 고민해야 한다.
스트림 아키텍쳐는 잘 모르는데 관련 글이 더 있으면 읽어봐야겠다.
실시간 처리용이고 대량의 데이터를 처리한다.
각자 목적에 맞는 아키텍처를 선택해야 하고 하나만 고집하지 말자..
'TIL' 카테고리의 다른 글
2024.06.10 Concurrency Challenges in Database Transactions (0) 2024.06.10 2024.06.09 coding question (0) 2024.06.09 2024.06.03 Design a Real-Time Leaderboard system (0) 2024.06.03 2024.05.30 High-Level System Architecture (0) 2024.05.31 2024.05.29 CQRS in Action (0) 2024.05.29