장점End-to-End 테스트가 용이빠르게 간단한 서비스를 만들 수 있음.단점조그마한 수정사항이 있어도 전체를 다시 빌드하고 배포유지보수도 힘듦덩치가 너무 커져 구동시간이 늘어남일부분의 오류가 전체에 영향을 미침각 기능이 따라 다른 언어를 선택할 수 없음.장점유지보수
동기적 REST API서비스 A에서 서비스 B로 직접 요청을 보내고 동기적으로 응답을 기다림비동기적메시지 브로커를 사용하여 서비스 A에서 서비스 B로 메시지를 보냄서비스 A는 응답을 기다리지 않음.서비스 B는 일반적으로 동일한 메시징 시스템을 통해 결과를 사용할 수 있
초기 설계의 중요성 마이크로 서비스 구분(독립성이 최우선) API 설계(거의 변경사항이 없어야한다고 생각하고 신중히 설계) 데이터 스키마 관리(데이터 중복 최소화) 독립적으로 스케일링(메모리, GPU 등등)
조그마한 코드 수정도 배포하기 위해 복잡한 프로세스 + 오랜 시간 필요에러가 났을 때 Debugging 하기가 상당히 까다로움(로그들도 분리되어있음)너무 거대해서 한 눈에 안잡힘.코드 변경사항을 주기적으로 빈번하게 머지빌드, 테스트 (테스트 시나리오 + 데이터 cons