MSA(4)
-
5장 : 마이크로서비스 설계
MSA에서 가장 중요한 관심사 : 기능적 응집성을 높이는 것, 타 서비스 간 의존도 낮추는 것 # 마이크로 서비스를 도출하는 방법 ## 비즈니스 능력에 근거한 도출 업무 기능 분해 : 업무 흐름에 따라 업무를 최상위에서 하위까지 대,중,소의 크기로 분리하고 수행하는 일을 체계적으로 정렬 전체적인 비즈니스를 이해할 때는 유용하나, 서비스 간 관계 파악 및 구체기능과 연관된 서비스 관리할 독립적인 데이터 식별을 어려움 ## DDD의 바운디드 컨텍스트 기반 도출 DDD에서는 하나의 큰 도메인을 중요도에 따라 도메인을 나누고 각 도메일을 하나씩 해결 ### 서브 도메인 비즈니스 도메인을 논리적으로 구분/분리되는 여러 하위 도메인 - 핵심 서브도메인 : 높은 우선순위 영역, 전략적으로 가장 큰 투자가 필요한 영역..
2023.05.22 -
3장 : 마이크로서비스 어플리케이션 아키텍처
# DB 중심 아키텍처 문제점 DB 중심 아키텍처 : 특정 RDB에 의존한 데이터 모델링을 수행한 다음 이 물리 테이블 모델을 중심에 두고 APP을 구현하기 위한 사고를 하는 방식 - 간단한 처리 로직은 편하나, 업무가 복잡해지면 점점 복잡성을 제어할 수 없음 - DB에 의존하게 되어 스케일 아웃 성능이 떨어짐 # 레이어드 아키텍처 프레젠테이션, 비즈니스로직, 데이터 엑세스 3계층으로 구분하는 것이 일반적 ## 레이어드 아키텍처 규칙 - 상위 계층이 하위 계층을 호출하는 단방향성 유지 - 바로 밑의 근접 계층만 활용 - 상위 계층이 하위 계층에게 영향 받지 않게 구성 - 하위 계층은 자신을 사용하는 상위 계층을 알지 못하게 구성 - 계층 간의 호출은 인터페이스를 통해 호출(의존성 분리) 현대 APP은 다..
2023.05.19 -
2장 : MSA의 이해
## 리액티브 선언 응답성 : 사용자에게 신뢰성 있는 응답을 빠르고 적절하게 제공 탄력성 : 장애가 발생하거나 부분적으로 고장나더라도 시스템 전체가 고장나지 않고 빠르게 복구 유연성 : 시스템의 사용량에 변화가 있더라도 균일한 응답성을 제공, 시스템 사용량에 비례해서 자원을 늘리거나 줄이는 능력 메시지 기반 : 비동기 메시지를 전달을 통해 위치 투명성, 느슨한 결합, 논블로킹 통신을 지향 4가지 요소는 상호 보완적, 급변하는 상황에 적응할 수 있는 시스템을 요구하는 것 아키텍처 유연성 : 시스템을 구성하는 구성요소 간의 관계들이 느슨하게 맺어져 있어 언제든지 대체되거나 추가 확장될 수 있는 특성 ## 강 결합에서 느슨한 결합으로의 변화 특정 벤더 중심 아키텍처는 검증된 유명 제품군을 통해 품질이 보장되나..
2023.05.18 -
1장 : 아마존 비즈니스 민첩성의 비밀
성공한 기업들의 공통점은 이미 익숙한 비즈니스에 새로운 비즈니스 개념과 기술을 융합하여 자신만의 서비스를 제공한다는 점이다. 아마존은 11초 마다 배포함 : 비즈니스가 변경될 때 마다 시스템이 개선되고 진화됨 클라우드 인프라가 등장해서 서비스 개발에 필요한 시스템 인프라를 쉽게 마련 가능 - 사용량에 따라 비용 유연하게 조정 스케일 업 : 기존 시스템 자체의 물리적 용량을 증가 스케일 아웃 : 기존 시스템과 용량이 같은 다수 장비를 병행 추가하여 가용성을 높임 - 시스템을 작은 단위의 독립적인 서비스 연계로 구성 클라우드 프렌들리 어플리케이션 : 큰 덩어리로 클라우드 환경에 올라갈 수 있도록 하는 클라우드 친화 어플리케이션 클라우드 네이티브 어플리케이션 : 독립적으로 분리되어 배포될 수 있는 조각으로 구..
2023.05.16