개발/MSA(3)
-
Ch3. Inter-Process communication
IPC Methods Rest gRPC AMQP, STOMP formating avro protocol buffer 방식 일대일 vs 일대다 동기 vs 비동기 sync/async task 협동자 sync 요청/응답 - async 비동기 요청/응답, 단방향 알림 pub/sub, pub/비동기 응답 ( callback ) API 정의 IDL(Interface Definition Language) 정의 시멘틱 버저닝 ${MAJOR}.${MINOR}.${PATCH} 와 같은 상태로 버저닝 MAJOR : 하위 호환성이 보장되지 않음 MINOR : 하위 호환성이 보장됨 PATCH : 버그 수정 표기는 path에다가도 할 수 있고, 또는 content negotiation에 끼워 넣을 수도 있습니다. Accept: ..
2021.01.22 -
Ch2. Decomposition strategy
4 + 1 view model 어플리케이션을 바라보는 여러가지 관점을 정의한 내용입니다. 각 뷰는 아래와 같습니다. Logical view: 상속, 연관, 의존 등 클래스와 패키지 사이의 관계를 말합니다. Implementation view: 빌드 시스템의 결과물, 코드, 컴포넌트 및 이 컴포넌트 모듈 간의 조합 관계를 의미합ㄴ디ㅏ. Process view : 런타임 컴포넌트, 즉, 개별 프로세스와 IPC를 통해 프로세스간 관계를 나타냅니다. Deployment view: 프로세스가 머신에 매핑되는 방법을 보여줍니다. 머신 및 프로세스 간의 관계를 네트워킹으로 표현 합니다. 시나리오 (+1) : 특정 뷰 내에서 아키텍쳐 요소가 협동하여 요청을 처리하는지 보여줍니다. 어플리케이션의 요건 기능 요건: 기능적..
2021.01.22 -
Ch1. Monolithic vs Micro service
Overview Definition 딱 맞는 정의라고 보기는 어렵지만 일반적으로 통용되는 내용으로 작성하여 보면 Monolithic은 단일 어플리케이션에서 다양한 서비스를 제공하는 구조이고, Micro Service는 service 또는 도메인 중심으로 어플리케이션을 나눈 구조라고 볼 수 있습니다. Micro service architecture의 대두 기존의 소규모 프로젝트에서는 Monolithic 구조로 진행을 하여도, 큰 문제는 없습니다. 하지만 점차 프로젝트 규모가 커지고, 이에 따른 요구사항이 커져감에 따라서 Monolithic 구조는 개발자에게 많은 피로감을 선사합니다. 크게 다음과 같은 문제점들이 있습니다. 개발이 더디다 : IDE를 통한 빌드 시간, 코드를 고치고 실행에 걸리는 시간이 증가..
2021.01.22