2013-01-11 2 views
1

전쟁 당 몇 가지 웹 서비스가있는 소규모 배포가 많고 전쟁 당 많은 웹 서비스가있는 대규모 배포를하는 것이 낫습니까?웹 서비스 전쟁 세분화 모범 사례

이 경우 모든 웹 서비스가 공통 백엔드를 공유하며 코드 공유의 이점을 얻을 것이라고 가정합니다. 소규모 전쟁의 경우 공유 코드를 병 프로젝트에 넣고 모든 소규모 배포에서 포함시켜야합니다. 이제 각각의 전쟁은 개별적으로 테스트/전개 될 수 있지만, 백엔드가 변경되면 모두 하나만 업데이트하는 것이 아니라 업데이트해야합니다.

이 경우 백엔드는 공급 업체가 제공하는 또 다른 웹 서비스입니다. 업데이트는 일반적으로 하위 호환성을 갖지만 항상 그런 것은 아닙니다.

명확한 대답은 없지만 공유 된 경험이 도움이된다는 것을 알고 있습니다.

답변

1

일반적으로 서비스 당 하나의 전쟁이 필요합니다. 요점은 서비스가 단일 웹 서비스 일 필요는 없다는 것입니다 (실제로 일부 끝점은 웹 서비스가 아닌 다른 기술 일 수 있습니다). 서비스는 여러 끝점과 계약을 노출 할 수 있습니다. 관련 계약을 함께 그룹화합니다 (예 : 사용자 관리를 처리하는 서비스는 사용자와 그룹 모두에 대해 API를 가질 수 있음). 그러나 주문과 관련된 API는 아마도 다른 서비스 (따라서 전쟁)에 속할 것입니다. 당신이 너무 작은 서비스 조각 슬라이스 경우 당신은 서비스의 오버 헤드 당신이 그것을

enter image description here

에서 얻을 유틸리티보다 어디가 nano-service antipattern를 부르는 것을 얻을 수 있습니다