Ich habe erfolgreich einen Cluster in Azure implementiert, wobei der Reverse Proxy auf allen Knoten aktiviert ist und https funktioniert. Dies ist ein Cluster mit mehreren Mandanten, jeder Mandanten hat seine eigene Anwendung und einige der statusbehafteten Dienste können einige Web-Sockets verwalten.Service Fabric Reverse-Proxy Einstellung des Stateful-Service-Ports
Ich habe es geschafft, eine Instanz von Turmfalke lokal für websockets arbeiten, aber in Azure bekomme ich nur 404s. Ich denke, meine Port-Konfiguration ist falsch. Ich habe die gesamte Reverse-Proxy-Dokumentation gelesen, kann aber immer noch nichts herausfinden.
Q1 Müssen alle Zuhörer im zustandsbehafteten Dienst, die Nachrichten vom Reverseproxy empfangen möchten, auf 19081 hören? Ich hätte gedacht, aber die documentation setzt zufällig einen anderen Port (10592?) Und eine super lange ID als eine Art von Bezeichner (die ich glaube, ist die PartitionId und ReplicaId kombiniert), ohne Erklärung, wie es den Namen zuordnen würde an den Abhörport im Naming Service.
Als Beispiel nehmen wir den Stoff nehmen:/MyApp/MyService Dienst dass einen HTTP-Listener auf die folgende URL öffnet:
http://10.0.0.5:10592/3f0d39ad-924b-4233-b4a7-02617c6308a6-130834621071472715/
Bin ich meinte diese super zu verwenden lange id als die hörende Adresse? Ich denke, das bedeutet, Turmfalke ist out - da mehrere versuchen können, auf dem gleichen Knoten zu hören, aber ich kann vielleicht einen Web/Http Listener verwenden, damit ich den Port teilen kann.
Q2 Ist es zwingend erforderlich, einen Listener zu erstellen, wenn der Dienst nur auf den Reverseproxy hören soll. ListenerName scheint wie ein notwendiger Parameter in der URI-Formatierung für Adressierungsdienste. Ist es in diesem Fall nicht möglich, dynamisch erzeugte Hosts aufzurufen? (z. B. WCF-Diensthosts), die generierte Pfade überwachen, z. B. https://fabric:19081/MyApp/MySvc/SomeWcfPath1.
Happy (gebrochen) Code zu schreiben, aber ich denke, das ist eher ein konzeptionelles Problem ist, und sobald ich die Einschränkungen/zugrundeliegenden Architektur besser zu verstehen, kann ich es lösen mich
Grüße
Ich denke, du hast Recht, meine Dienste in Frage sind alle SingletonPartitions - also sollte ich nicht über Konflikte sorgen müssen. Sollte ich diese URL mit der langen ID dann anstelle des aufgelösten Namens hören? –
Was meinen Sie "anstelle des aufgelösten Namens?" – Dismissile
zum Beispiel würde ein Client namens https: // meincluster: 19081/MyApp// -> aber im Dienst sollte ich https hören: // : 19081//MyEndpoint? weil das der Proxy in das übersetzt? oder ist das völlig falsch –