MSA는 분산 처리 시스템 아키텍처중 하나

MSA란…

기능 위주로 나뉜 어플리케이션이 있고, 각각 독립된 데이터 저장소를 사용, 각 서비스 역시 독립적으로 구성됨

ex) 예약, 항공정보, 호텔정보 다 다른 db를 사용한다….

기능과 성격에 맞게 적당한 크기로 분리해야 한다

기능을 연동할 때 API를 통해 데이터 주고받음

→ api가 사용하는 네트워크 프로토콜이 성능 저하의 원인이 될 수 있다 → 가벼워야함

보통은 JSON 형식의 메세지 주고받음, HTTP 기반의 REST-API 가장 많이 사용

gRPC (Google remote proceduere call) 나 Thrift, Avro, Protobuffer 등을 사용

또는 메세징 스트리밍 시스템 Kafka 사용

장점