반응형
마이크로서비스에서의 서비스
- 마이크로 서비스는 서비스 종단점을 API의 형태로 외부에 노출하고 실질적인 세부사항은 모두 추상화함.
- 즉, 내부의 구현로직, 아키텍처와 프로그래밍 언어, 데이터베이스 품질 유지 체계등등 기술적인 사항들은 서비스 API 에 가려짐.
마이크로서비스 아키텍처의 개발 조직
- 애플리케이션 개발보다는 서비스 개발에 더 중점을 둠.
서비스의 특징
- 서비스 계약
- SOA와 비슷하게 마이크로서비스도 분명하게 정의된 서비스 계약에 의해 작성됨.
- 서비스 케뮤니케이션 방식
- JSON / REST
- JSON/ REST 관련 서비스 계약 정의 기법
- JSON 스키마, WADL, Swagger, RAML 등등.
- JSON/ REST 관련 서비스 계약 정의 기법
- JSON / REST
- 느슨한 결합
- 독립적이고 서로 느슨하게 연결되어 있음.
- 마이크로서비스는 이벤트로 입력을 받고, 이벤트로 응답함.
- 커뮤니케이션 수단 : 메시징, HTTP, REST
- 메시지 기반의 종단점
- 결합도를 낮추는 고수준의 수단을 제공함.
- 서비스 추상화
- 단순히 서비스의 구현실체를 추상화하는 것보다 모든 라이브러리와 제반 환경 전체를 추상화
- 서비스 재사용
- 마이크로서비스의 서비스는 재사용이 가능함.
- 무상태
- 제대로 설계된 마이크로 서비스는 상태가 없음.
- 서비스에 의해 관리되는 어떤 공유 상태와도 아무런 정보도 공유하지 않음.
- 상태를 관리하게 요구사항이 정의가 있다면, DB or Memory 를 이용해서 상태를 관리함.
- 탐색가능한 서비스
- 탐색을 통해서 찾을 수 있음.
- 서비스는 자신의 존재를 스스로 드러내서 알리고, 탐색에 의해 찾아지고 사용될 수 있게함.
- 서비스 호환성
- 표준 프로토콜 / 메시지 교환 표준을 준수
- 즉, 호환성이 좋음.
- 전송 매커니즘
- 메시징 / HTTP 와 같은 표준 방식 사용.
- 커뮤니케이션 부문의 최적화
- 프로토콜 버퍼 / 스리프트 / 아브로 / 제로엠큐 등등 다른 프토토콜 사용 가능.
- but, 비표준 프로토콜을 사용시, 서비스의 전체적인 호환성은 제약을 받을 수 밖에 없음.
- 표준 프로토콜 / 메시지 교환 표준을 준수
- 서비스 조립성
- 서비스는 조립이 가능함.
- 조립성 확보
- 서비스 오케스트레이션(service orchestration) / 서비스 연출(service choreography) 을 통해 확보가능.
참고사항
- SOA 패턴
- 서비스 오케스트레이션(service orchestration) 이란?
- 메시지 교환을 담당하는 어떤 주체를 통해 메시지를 주고 받는 방식을 의미
- 서비스 연출(service choreography) 이란?
- 서비스 간의 메시지 교환에 있어서 각 서비스들이 전역적인 수준에서 스스로 메시지를 주고받는 방식
- 참고 사이트 : https://en.wikipedia.org/wiki/Service_choreography
728x90
300x250
'좋아하는 것_매직IT > 10.microservice' 카테고리의 다른 글
6.마이크로서비스, 독립시스템(SCS, self-contained system) 은 무엇일까? (0) | 2021.01.12 |
---|---|
5. 마이크로서비스, 왜 가벼울까? (0) | 2021.01.12 |
3.마이크로서비스, 마이크로(micro) 아키텍처와 매크로(macro) 아키텍처로 나눠야 하는 이유? (0) | 2021.01.12 |
2.마이크로서비스, 리액티브란 무엇일까요? (0) | 2021.01.12 |
1. 마이크로서비스 , 구현을 위한 요구사항은 무엇일까요? (0) | 2021.01.11 |