我已成功將羣集部署到天藍色,並且所有節點上都啓用了反向代理服務器,並且https工作。這是一個多租戶羣集,每個租戶都有自己的應用程序,一些有狀態的服務將能夠管理某些Web套接字。服務結構反向代理服務器有狀態服務端口設置
我設法得到一個在websockets本地工作的紅隼實例,但在Azure中我只得到404s。我認爲我的端口配置是錯誤的。我已經閱讀了所有的反向代理文檔,但仍然無法解決某些問題。
Q1是否有意接收來自反向代理的消息的有狀態服務的所有監聽器都必須在19081上進行監聽?我會這麼想,但documentation隨機放置一個不同的端口(10592?)和一個超長ID作爲某種標識符(我相信它是partitionId和replicaId的組合),沒有解釋它如何映射名稱到命名服務中的監聽端口。
舉個例子,讓我們的面料:該 打開一個HTTP偵聽以下網址/ MyApp的/爲MyService服務:
http://10.0.0.5:10592/3f0d39ad-924b-4233-b4a7-02617c6308a6-130834621071472715/
我是否意味着要使用這個超級長ID作爲收聽地址?我猜這意味着kestrel不在使用 - 因爲多個人可能會嘗試在同一個節點上偵聽,但我可以使用Web/Http偵聽器,以便共享端口。
Q2如果我希望服務僅偵聽反向代理,那麼是否有必要創建偵聽器? ListenerName似乎是URI格式化中用於尋址服務的必要參數。在這種情況下,是不是可以調用動態生成的主機? (如WCF服務主機)正在偵聽生成的路徑,即https://fabric:19081/MyApp/MySvc/SomeWcfPath1。
快樂張貼(碎)的代碼,但我認爲這更多的是一種概念上的問題,一旦我理解的侷限性/基礎架構更好,我可以解決它自己
問候
我認爲你是對的,我的服務都是SingletonPartitions - 所以我不必擔心衝突。我是否應該用長ID來監聽這個URL,而不是解析名稱? –
你是什麼意思「而不是解決名稱?」 – Dismissile
例如,客戶端會調用https:// mycluster:19081/MyApp// - >但在服務中,我應該聽取https:// :19081//MyEndpoint?因爲這就是代理翻譯它的目的?或者是完全錯誤的 –