What MSA End to End Data Delivery ?
- MSA 환경에서 REST API 연동 시, From service → To service 로 특정값 전달 방식을 정의
- From service(Delegater MS): REST API 호출 주체 MS
- To service(Consumer MS): From service에서 전달한 값을 소비 하는 MS
- Delivery service(전달자)는 특정속성을 통해 From/To service로 전달 한다. ( ex) extra 속성)
Role / Responsibility
Delegater MS
- Delegater MS(데이터 전달 위임자)는 Forwarder MS의 API Spec 에 맞춰
- 전달값에 대한 json model 정의 한다.
- API 요청시, 값을 주입 한다.
- Consumer MS(데이터 소비자)들에 위 정의 된 전달값의 json model을 공유한다.
Forwarder MS
- 특정(extra)속성을 통해, Forwarder MS(데이터 전달자)는 Consumer MS로 데이터 전달을 보장 한다.
- 해당 속성에 대해서 조합/변경을 하지 않고 입력 된 원본을 그대로 전달 해야 한다.
Consumer MS
- Consumer MS(데이터 소비자)는 정의 된 json model를 공유 받아 처리자를 구현하다.
- API 요청 인입시, 정의 된 속성값(aka. extra)을 object model로 변경 한다
- object deserial/serial의 책임을 가진다.
// Forwarder MS의 API
{
"order": {
"id": "ORD1212121",
......
......
// Forwarder MS의 API 에 추가적인 API Spec 정의
// RPS bypass 영역 정의
// from service -> to service 에 전달 되는 json string 전달
"extra": [{
"ignite_service": {
"version": 1,
"service_code": "ORDERYO-API",
"delivery_values": [{
"rider_name" : "rider1"
}]
}
}
}
}