Ch3. Inter-Process communication
2021. 1. 22. 23:11ㆍ개발/MSA
728x90
반응형
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: application/json; version=1
- ${MAJOR}.${MINOR}.${PATCH} 와 같은 상태로 버저닝
- 메세지 포멧 정의
- 텍스트( JSON, XML )
- 바이너리 (AVRO, Protocol Buffer)
패턴
동기 RPI(Remote Procedure Invocation) 패턴
- 클라이언트 <=> RPI Proxy( Client) <=> RPI Server <=> Service
Rest 성숙도 모델
- Level 0: HTTP Post를 통한 요청, 단일 end point
- Level 1: Resource 개념을 지원
- Level 2: HTTP verb 활용
- Level 3: HATEOAS, 액션에 필요한 링크도 같이 포함
참고자료
728x90
반응형
'개발 > MSA' 카테고리의 다른 글
Ch2. Decomposition strategy (0) | 2021.01.22 |
---|---|
Ch1. Monolithic vs Micro service (0) | 2021.01.22 |