2016-10-10 8 views
3

다릅니다 동일한 "분산 시스템"제품군으로 분류 될 수 있으며, SOA의 개념 및 관행과 동일한 많은 것을 수행합니다. 그러나 이들이 다른 점은 개별 서비스에 주어진 책임 범위에 관한 것입니다. SOA에서 서비스는 광범위한 기능 및 데이터 도메인을 처리하는 데 책임이 있으며, 마이크로 서비스에 대한 일반적인 지침은 및 해당 도메인 주변의 해당 기능을 단일 데이터 도메인 관리를 담당한다는 것입니다.Microservice 내가 SOA와 Microservices 아키텍처 스타일 W 및 좋은 링크 <a href="https://www.infoq.com/articles/boot-microservices" rel="nofollow noreferrer">https://www.infoq.com/articles/boot-microservices</a></p> <p>그것은 말한다 발견 B/차이점을 찾고 있었다

이해해주세요.
단일 데이터 도메인의 의미입니다 (마이크로 서비스 권장). 그것은 하나의 도메인/엔티티 (및이 단일 도메인/엔티티와 관련된/복합 도메인/엔티티)를 관리하기 위해 별도의 마이크로 서비스가 빌드되어야한다는 말입니다. 이 경우, 기본 기능 (기업) 응용 프로그램을 구현하는 데에도 (~ 20 ~ ~ 50) 마이크로 서비스가 많이 있습니다.

편집 : 나는 Difference between Microservices Architecture and SOA 링크를 통과했지만 설명합니다. 첫 번째 두 신조와 동일하고 3 점 (SOA에서 서비스, 스키마 및 계약, 클래스가 아닌 공유)하지만 SOAP 계약입니다,하지만 그 차이는 무엇입니까/SOA는 (REST) ​​대 마이크로 서비스 (어떤 W (

나는 service 물리적 과정이 아니다 SOA에서 그 주장 것 : 주로 나는이 해석의 문제라고 생각

답변

3

) REST 함께 indows 서비스/app 도메인)이지만 논리적 인 경계를 유지합니다. SOA 및 Microservices에서 가장 작은 자율 구성 요소와 관련하여 동일한 규칙이 적용됩니다. 하나 이상의 도메인 등록 정보/필드 집합에 대해 소유하고 있습니다 (기술적 권한 및 데이터 소유자는 해당 데이터의 상태를 변경할 수있는 유일한 구성 요소임을 의미 함).

런타임시, 프로세스를 배포 할 필요가없는 경우 동일한 프로세스에서 모두 배포 할 수 있습니다 (나중에 성능 향상을 위해 구성 요소를 확장, 배포해야하는 경우) ...

의미가 있습니까?

3

마이크로 서비스는 SOA가 많은 회사에서 사용되기 시작했을 때 사람들이 API를 호출하기 시작한 것입니다. 도메인 기반 디자인의 등장으로 인해 용어 사용이 증가했습니다. 현재 업계에서는 두 사람 사이에 아무런 차이가 없습니다. 사람들은 적합하다고 생각합니다.

원칙적으로 철학을 따를 때 많은 마이크로 서비스로 끝날 것이라고 말했던 것이 옳습니다. 제 생각에는 SOA 또는 마이크로 서비스일지도 모릅니다. 독립적 인 서비스에 대한 추상화는 유스 케이스, 서비스 배치 방법 및 병렬로 작업 할 팀 수에 따라 달라집니다. 서비스가 호스트간에 배포되는 경우 네트워크 대역폭에 대한 비용도 증가합니다 (컨테이너 및 DC/OS 프레임 워크가 현재이 문제를 해결하고 있음에도 불구하고). 빠르게 변화하는 서비스 인 경우 움직이는 부품이 많으면 큰 서비스를 마이크로 서비스로 분해하는 것이 합리적입니다. 그렇지 않으면 조숙 한 최적화를 피하고 기능을 단일 (또는 몇 가지 큰) 서비스로 패키지화했습니다.

0

SOA 서비스는 모두 서비스 수준에서 구성 요소 화에 관한 것입니다. 마이크로 서비스는 모두 서비스 수준의 기능 구성에 관한 것입니다.

서로 다른 문제에 대해 서로 다른 두 가지 해결책이 있습니다.

1

"도메인"에 대한 질문은 제 견해로, 마이크로 서비스의 주요 특징이라고 생각합니다. 마이크로 서비스는 자체 기능 도메인과 데이터 모델을 관리해야합니다.

회사 내에 제품 카탈로그 응용 프로그램이 있다고 가정 해 보겠습니다. 카탈로그 리팩터링/진화를 강화하기 때문에 카탈로그 지속성 계층을 타격하고 카탈로그 모델을 추상화하는 다른 많은 응용 프로그램을 갖고 싶어하지 않을 것입니다. 아마도 이러한 응용 프로그램 간의 동시성 문제로 인해 카탈로그 응용 프로그램의 크기가 조정되지 않을 수 있습니다. 대신 다른 응용 프로그램에서 사용하는 웹 서비스 API (예 : REST 끝점)를 노출하는 단일 카탈로그 응용 프로그램을 유지 관리하는 것이 좋습니다.

이 글은 other related question "Microservices = SOA - ESB"에서 읽었습니다. 사실, ESB는이 마이크로 서비스 특성과 호환되지 않습니다. "스마트 엔드 포인트 및 멍청한 점"은 마이크로 서비스가 종속성으로 다른 서비스를 필요로 할 때 파이프를 처리하는 라우팅 논리/구성 요소없이 직접 사용해야한다는 것을 의미합니다.

마지막으로, Martinfowler microservices 비디오 소개를 바탕으로이 cheat sheet을 살펴볼 수 있습니다.