2

누군가 클러스터 컴퓨팅의 대사의 건축 개념은 무엇입니까? 마이크로 서비스 아키텍처 패턴에서 구현하면 어떤 이점이 있습니까?분산 시스템에서 Ambassador의 개념은 무엇입니까?

나는 최근에 도커와 도커 - 떼주기를 연구 해 왔으며이 용어가 기사 나 repos에서 반복적으로 언급되는 것을 보았습니다. 예를 들어 this amazing project의 경우 docker-ambasssador이라는 저장소가 있습니다. 또는이 프로젝트는 ctlc-docker-ambassador입니다.

+0

http://stackoverflow.com/questions/26604734/failing-to-see-how-ambassador-pattern-enhances-modularity-simplicty-of-contain –

답변

1

일반적으로 Microservices의 주요 이점 중 하나는 변화를 인식하는 나머지 앱/​​생태계없이 기본 구성 요소를 전환 할 수 있다는 것입니다. 앰버서더 패턴을 사용하면 조각을 이동하고 변경하면서 소비 코드가 계속해서 단일 위치에 연결될 수 있습니다. 당신이 좋은 설명/예제를했다 제공된 링크 중 하나

` 오히려, 부두 노동자는, 서비스 이동성을 장려하는 서비스 소비자와 공급자 간의 네트워크 링크를 하드 코딩하는 것보다 대신 예 :

(소비자) - > (레디 스), 당신은 대사 추가 할 수있는 다른 레디 스 서비스에 첨부하는 소비자를 다시 시작을 요구하는 :

(소비자) -> (레디 스-대사) -> (레디 스) 또는

(소비자) -> (redis-ambassador) --- 네트워크 ---> (redis-ambassador) -> (redis) 다른 Redis 서버와 대화하기 위해 소비자를 다시 연결해야하는 경우 소비자가 연결되어있는 redis-ambassador 컨테이너를 다시 시작할 수 있습니다 에. `

이 경우 기본 구성 요소 (redis)는 redis 알고있는 코드없이 이동하거나 업데이트 할 수 있습니다. 코드가 좀 더 현명하다면 redis에서 다른 kv 저장소로 전환 할 수도 있습니다.

+0

하지만 redis에서 포트 매핑을 하드 코딩하지 않아도됩니다. -대사? 제 말은 분산 된 아키텍처의 다른 노드로 문제를 전송하는 것이 아닙니까? –

+0

기본 서비스의 위치를 ​​간단히 알 수있는 것 외에 대사 노드는 들어오는 요청을 기반으로 트래픽을 지시 할 수있는 "스마트"일 수 있습니다. 다른 목적 (캐시, 메타 데이터 등)에 여러 개의 redis 노드가 사용되었다고 가정 해보십시오. 소비 고객은 모든 요청을 지능적으로 관리하고 올바른 최종 목적지로 트래픽을 보낼 수있는 한 대사에게 말할 수 있습니다. 기본적으로 스마트로드 밸런서가됩니다. 복잡하고 유연한 도구를 사용하는 유일한 방법은 아닙니다. –