2015-06-11 31 views
0

因此,我有一個Azure Cloud Service,現在它有2個實例。我希望能夠與每個實例分別進行通信,並且在我看來,這裏找到的信息 - https://msdn.microsoft.com/en-us/library/azure/hh180158.aspx - 應該能夠讓我知道我需要什麼。如何在我的天藍雲服務中爲每個端點定義端口

我不明白的是,我如何與每個實例進行通信?如果我爲Web角色定義2個輸入端點,它如何「知道」哪個實例響應一個端口,哪個響應另一個端口?

例如,這裏的服務定義文件Im的當前與播放樣本:

<ServiceDefinition name="BasicWrapperServices.Azure" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition" schemaVersion="2014-06.2.4"> 
    <WebRole name="MyCloudService" vmsize="Medium"> 
    <Certificates> 
     <Certificate name="mydomain.com" storeLocation="LocalMachine" storeName="My" /> 
    </Certificates> 
    <Sites> 
     <Site name="Web"> 
     <Bindings> 
      <Binding name="Endpoint1" endpointName="Endpoint1" /> 
      <Binding name="HttpsIn" endpointName="HttpsIn" /> 
     </Bindings> 
     </Site> 
    </Sites> 
    <Endpoints> 
     <InputEndpoint name="Endpoint1" protocol="http" port="80" /> 
     <InputEndpoint name="HttpsIn" protocol="https" port="443" certificate="mydomain.com" /> 
     <InputEndpoint name="InputEndpoint1" protocol="https" port="10000" certificate="mydomain.com"/> 
     <InputEndpoint name="InputEndpoint2" protocol="https" port="10001" certificate="mydomain.com" /> 
    </Endpoints> 
    <Imports> 
     <Import moduleName="RemoteAccess" /> 
     <Import moduleName="RemoteForwarder" /> 
    </Imports> 
    </WebRole> 
</ServiceDefinition> 

什麼IM這裏尋找的是能夠擁有超過10000端口一個實例和其他超過10001進行溝通,除非我錯了?

回答

0

如果要直接連接到每個實例而不通過Loadbalancer,那麼請在同一個URL provided上查看Direct端點。

端口的範圍例如將10000到10010按順序分配給角色的實例。 Role_0獲得10000,Role_1獲得的10001等等。

希望它有幫助。

0

你需要一個InstanceInputEndpoint,不是InputEndpoint 那麼你的配置看起來像這樣:

<InstanceInputEndpoint name="TraceEndpoint" protocol="tcp" localPort="443"> 
    <AllocatePublicPortFrom> 
     <FixedPortRange max="10000" min="10010" /> 
    </AllocatePublicPortFrom> 
    </InstanceInputEndpoint> 

然後你可以看在老門戶什麼端點進行分配。

本地端口可能是任何你想要的。

你的情況應該是443我想,因爲你想通過https協議訪問實例。所以在每個實例中都必須有一些正在傾聽的東西。在你的情況下,它是443端口上的IIS。

然後,您可以通過公共IP和爲每個實例分配的公共端口訪問每個實例的443本地端口。

相關問題