2017-03-03 6 views
0

동적 끝 점이있는 여러 노드에서 상태 비 저장 서비스가 있습니다.Azure 서비스 패브릭의 RPC 끝점을 통해 노드 인스턴스에 연결

나는이 같은 자신의 동적 엔드 포인트로 ServiceProxy를 사용하려면 :

localhost:32010+dd1d0a27-1dec-49db-8960-83bf001355be-131329828855327547

가 어떻게 그 엔드 포인트를 사용하여 특정 노드 인스턴스에 연결하는 ServiceProxy를 사용합니까?

나는이 같은 ServiceProxy를 인스턴스화하고 있습니다 :

ServiceProxy.Create<T>(new Uri("fabric:/XXX)); 만 인스턴스 노드 중 하나를 찾을 수있다. 엔드 포인트를 통해 연결할 노드를 지정하려고합니다. 어떻게해야합니까?

+0

listenerName 매개 변수를 전달하려고 시도 했습니까? – cassandrad

+0

@cassandrad 모든 수신기 이름이 동일하기 때문에 다른 노드에 있기 때문에 모든 수신기 이름이 동일하기 때문에 도움이되지 않습니다. – jugg1es

+0

다른 포트 (하나의 인스턴스에 하나)로 n 개의 끝점을 지정하고 등록 할 수 있다고 생각했습니다. 특정 노드마다 하나씩 만 존재한다면 Remoting은 네임 서비스의 도움으로 특정 인스턴스를 찾을 수 있습니다. 글쎄, 그건 시도 할 계획 이었어. 나는 그것이 작동하지 않을 것이라는 것을 몰랐다. – cassandrad

답변

0

Service Remoting을 사용하여 Stateless Service의 특정 인스턴스에 연결할 수있는 방법이 없습니다. Stateful Services에 대한 특정 파티션/복제본 만 대상으로 할 수 있습니다.

보기 this SO answer.

옵션은 기본적으로 다음과 같습니다

  • 변경 HTTP 통신 자신이 이유 물어 할 수있는 상태 보존 형 서비스

또 다른 것은 같은

  • 재 설계에 당신이 대상으로 지정할 특정 인스턴스 또는 노드? 그것은 당신이 어떤 성과 이득을 얻지 못했기 때문입니까? 당신은 당신이 목표로 삼고 자하는 서비스에 대한 클라이언트로부터 다른 유형의 친화력을 가지고 있습니까?

  • +0

    로드 밸런서를 작성 중이므로 로컬 클러스터 (Azure를 사용할 수 없음)를 사용할 수 있고 로컬 클러스터 배포에 사용할 수있는로드 균형 조정이 없기 때문에 특정 인스턴스를 대상으로하고 싶습니다. 텔. – jugg1es

    +0

    SF 리버스 프록시의 경우 [이 프로젝트] (https://github.com/spoorendonk/service-fabric-reverse-proxy)를 보는 데 도움이 될 수도 있지만, 정확히 무엇을 하려는지는 모르겠지만 어떤 부분은 비슷합니다. – yoape