MSA 5

[마이크로서비스 아키텍처 구축] 4. MSA 마이크로서비스 통신 방식 - (1)

해당 글은 마이크로서비스 아키텍처 구축에서 학습한 내용을 다룹니다.목차프로세스 내부에서 프로세스 사이로 (1) 프로그램, 프로세스, 스레드의 관계 (2) 왜 프로세스 간 호출의 오버헤드가 더 클까? (3) 인터페이스 변경 (4) 에러 처리MSA 통신 방식 (1) 요약 (2) 비동기식 논블록킹과 관련된 예시1. 프로세스 내부에서 프로세스 사이로(1) 프로그램, 프로세스, 스레드의 관계1. 프로그램이 구동되면 메모리에 올라간다.2. 메모리에 올라간 프로그램의 상태를 프로세스라고 한다.3. 이때 프로세스 내에서 실행되는 여러 흐름의 단위가 '스레드'이다. Monolithic에선 프로세스 내부에서 호출이 이루어졌다면 MSA에선 프로세스 사이로 네트워크릍 통해 통신이 이루어짐프로세스 내부 호출이 일어날 때, 런타..

[마이크로서비스 아키텍처 구축] 3. 모놀리스 분해

해당 글은 마이크로서비스 아키텍처 구축에서 학습한 내용을 다룹니다. 목차모놀리스가 적이 경우는 드물다무엇을 MSA로 먼저 전황해야할까?MSA 전환 방식 - 교살자 무화과 패턴(Strangler Fig Pattern)MSA의 DB 이슈1. 모놀리스가 적인 경우는 드물다MSA에서 성취하고자 하는 것을 명확하게 이해하지 못하면 MSA를 만드는데만 집착하게 될 수 있고, 이는 MSA 도입 후 새로운 복잡성을 도래한다다시 말하지만 Monolithic != 레거시 라는 것을 기억하자시스템을 조기에 MSA로 분해하면 많은 비용이 발생한다 (특히 해당 프로젝트의 도메인 지식이 없는 사람은 더더욱)때문에 MSA로 분해하려는 기존 코드베이스를 보유하는 것이 처음부터 MSA를 진행하는 것 보다 훨씬 빠르고 쉽다나의 사..

[마이크로서비스 아키텍처 구축] 2. 마이크로서비스 모델링 방법

해당 글은 마이크로서비스 아키텍처 구축에서 학습한 내용을 다룹니다.목차올바른 마이크로서비스의 경계결합 유형DDD핵심 요약 1. 올바른 마이크로서비스의 경계MSA에서 서비스는 응집력이 강하고 결합도가 낮으면 구조가 안정적응집력 : 경계선 내부의 사물끼리의 관계결합도 : 경계선 안의 사물과 경계선 밖의 사물과의 관계2. 결합 유형(1) 통과 결합데이터가 다른 하위 마이크로서비스에 필요하다는 이유만으로 한 마이크로서비스가 다른 마이크로서비스에 데이터를 전달하는 상황주문 서비스 --> 배송 목록 데이터 전달 --> 창고 서비스 --> 배송 목록 데이터 전달 --> 배송 서비스만약 최하위 배송 서비스에서 데이터 변경이 일어나면, 윗단계를 계속 거슬러 올라가 데이터 변경을 요구하는 상황이 발생할 수 있음따라서 위와..

[마이크로서비스 아키텍처 구축] 1. 기초 (MSA 개념)

해당 글은 마이크로서비스 아키텍처 구축에서 학습한 내용을 다룹니다. 0. 개요마이크로서비스란?마이크로서비스 핵심 개념모놀리스모놀리스의 장점마이크로서비스에 도움이 되는 활성화 기술마이크로서비스의 장점마이크로서비스의 고충마이크로서비스를 사용해야 하는가?  1. 마이크로서비스란? 마이크로서비스(microservice)는 비즈니스 도메인에 따라 모델링된 독립적으로 릴리스 가능한 서비스로, 기능을  캡슐화하고 네트워크를 통해 다른 서비스들에 엑세스하게 해준다.(편의를 위해 마이크로 서비스는 마이크로서비스 아키텍쳐(microservice architecture), 이하 MSA로 소개한다.)  외부에서 보면, 하나의 MSA는 블랙박스로 취급된다.가장 적절한 프로토콜을 사용해 1개 이상의 네트워크 엔드 포인트(Mess..

Monolithic, SOA, 그리고 MSA

[총괄 개념 정리] 핵심 정리 사이트 [세부 개념 정리] SOA와 MSA (1) SOA와 MSA (2) [함께 알면 좋은 개념] EAI, ESB, API 게이트 웨이,서비스 매쉬 [SOA와 MSA의 개념 요약] MSA and SOA comprison(Written in English) Microservices Architecture (MSA) Service-Oriented Architecture (SOA) Protocol 가벼운 프로토콜 사용 (ex : HTTP, REST) 멀티 메세지 프로토콜 지원 Focus 탈동조화 = Decoupling (작동에 있어서 서비스와 서비스의 상관관계를 최소화) 어플리케이션 서비스의 재사용성 Approach 가능한 최소한으로 공유하는 아키텍쳐 접근법 가능한 최대한으로 공..