기본 콘텐츠로 건너뛰기

라벨이 share-as-little-as-possible인 게시물 표시

마이크로서비스와 SOA 비교

근래 마이크로서비스에 관심이 생겨 읽어본 글. 찾은 글 중에선 마이크로서비스와 SOA에 관해 전반적으로 정리가 잘된 거 같아서 요약해 두기로 했다. 내용이 적지는 않아서 키워드 위주로 정리했지만 역시 한눈에 들어오지 않음. #딴지금지 #지적환영 원글은 https://www.nginx.com/microservices-soa/ 에서 pdf로 배포하고 있다. 목차 The World of Service-Based Architectures  Comparing Service Charateristics  Comparing Architecture Characteristics  Comparing Architecture Capabilities  Summary  1. The World of Service-Based Architectures a. Service Contracts "서비스 계약"은 REST API 문서같이 서비스와 서비스 컨슈머(consumer)간 동의를 말한다. 서비스 기반 아키텍쳐는 "서비스 중심 계약"(Service-Based Contracts)과 "컨슈머주도 계약"(Cosumer-Driven Contracts) 두가지 모델이 있다. 차이점은 일방적이냐 아니냐 하는 “협업 정도(The degree of collaboration)”이다. "서비스 중심" 아키텍쳐는 컨슈머를 고려하지 않은 계약변경을 한다. "컨슈머 주도 계약"은 컨슈머가 변경을 제안하고 서비스는 다른 컨슈머들의 영향도를 판단해서 적용 여부를 결정한다. 이런 "컨슈머 주도 계약" 컨셉을 테스트 시점에 적용할 수 있게 구현하고 툴링을 제공하는 오픈소스로 "Pact", “Pacto”가 있다. 컨슈머는 서비스 프로바이더에게 Pact라는 테스트를 보내고 서비스 프로바이더는 계약변경이 생기면 컨슈머가 보낸 테스트를 빌드 시점에 서비스 제공자의 테스트에...