2017-04-26 3 views
0

Gibt es eine Möglichkeit, einen Microservice-Endpunkt ohne Portnummer in Azure Service Fabric anzuzeigen? Die Portnummer kann in ServiceManifest.xml definiert werden, oder sie kann dynamisch vom Service Fabric-Cluster zugewiesen werden, aber wie kann ein Dienst ohne Angabe der Portnummer aufgerufen werden?Endpunkt ohne Portnummer

Antwort

0

Natürlich müssen Sie die Portnummer nicht angeben, wenn Sie sie nicht benötigen. Service Fabric weist Ihrem Dienst automatisch einen Port zu. Ich sehe auch keine Portnummer, weil wir mehr als 100 Dienstleistungen haben, und es ist „ein bisschen schwer“ zu tun, dass

auslassen Nur Hafen Erklärung in ServiceManifest.xml

<Resources> 
    <Endpoints> 
     <Endpoint Protocol="http" Name="UserHttpEndpoint" Type="Input" /> 
     <Endpoint Protocol="tcp" Name="UserRpcEndpoint" Type="Input" /> 
    </Endpoints> 
    </Resources> 
+0

Ich weiß das, aber wie soll ich diesen Endpunkt-URI durch seinen Namen anstelle seines Ports nennen? Zum Beispiel: http://example.com/UserHttpEndpoint/api/service anstelle von http://example.com:31002/api/service – Marko

+1

Ok, Sie sollten API-Gateway dafür implementieren. Verwenden Sie eines der folgenden Muster: Service-Registrierung, clientseitige Serviceerkennung, serverseitige Serviceerkennung – Marusyk

+0

@Marko Ihre Frage lautet: "Gibt es eine Möglichkeit, einen Microservice-Endpunkt ohne Portnummer in Azure Service Fabric verfügbar zu machen?" Also, der asnwer ist: Ja, es gibt ". Sie haben nicht über Wie Service ohne Port zu nennen erwähnt. – Marusyk

0

Ein Endpunkt nutzlos werden würde, ohne ein Hafen. Selbst wenn Sie einen haben könnten, sollten Sie es nicht wollen. Sie suchen wahrscheinlich nach einer Möglichkeit, den Dienst anzurufen, ohne dessen Portnummer zu kennen. Dies kann durch Verwendung eines reverse proxy erreicht werden. Mit einem Reverse-Proxy können Sie einen Dienst aufrufen, indem Sie den Port des Reverse-Proxy angeben.