새 응용 프로그램을 작성 중이며 마이크로 서비스 아키텍처에 대해 읽었습니다. 아키텍처 자체는 개발, 배포 및 수명주기 관리 관점에서 많은 의미가 있습니다. 그러나 한 가지 문제는 마스터 데이터를 처리하는 방법과 관련이있었습니다.
예를 들어 Sales 앱과 Ticketing 앱이라는 두 가지 앱이 있습니다. 이 두 앱 모두 자체 마이크로 서비스로 구축되었다고 가정합니다. 그러나 두 앱을 모두 배포 할 때 (Sales는 MongoDB를 사용하고 Ticketing은 MariaDB를 사용한다고 별도로 배포한다고 가정 할 경우) Accounts, Products와 같은 동일한 마스터 데이터 인스턴스에 액세스해야합니다. 즉, 지정된 마스터 데이터 엔터티 (예 : 영업 앱일 수있는 계정의 경우) 및 이해 당사자 (예 : 발권 앱은 계정에 대한 정보가 있어야 함)에 대한 소유자 앱이 있음을 의미합니다.
이를 달성 할 수있는 여러 가지 방법이 있습니다.-마스터에서 이해 당사자로의 데이터 복제-이해 당사자에서 마스터로 동기 읽기 (마이크로 서비스 아키텍처 패러다임에서는 동기화 종속성이 권장되지 않음)-자체 중앙 저장소
또한 계정 내에서도 영업 및 발권에 공통적 인 핵심 부분 (예 : 계정 이름, 주소 등)이있을 수 있습니다. 그러나 계정의 일부 측면은 판매와 관련이 있고 다른 일부는 발권과 관련이있을 수 있습니다.
위에서 언급 한 옵션 중 하나에 대한 생각 / 모범 사례 / 의견은 무엇입니까?