我們有一個TCP應用程序,它接收我們沒有設計和不控制的協議中的連接。 該協議將假定如果可以建立TCP連接,則它可以發送消息並確認該消息。當沒有可用的後端服務器時,AWS TCP ELB拒絕連接
如果直接連接到計算機,如果機器或應用程序關閉,tcp連接將被拒絕或丟棄,並且客戶端將嘗試重新傳送消息,這很有效。
當我們使用AWS彈性負載均衡器時,無論是否有可用的後端服務器來滿足請求,ELB都將與客戶端建立TCP連接。 因此,如果我們的應用程序或服務器崩潰,那麼我們會丟失消息。
ELB將在此後不久關閉TCP連接,但它不夠好。
有沒有辦法讓ELB,只有建立連接,如果它可以到達後端服務器? 我們有什麼選擇(在AWS生態系統內)平衡基於TCP的服務,但如果無法提供服務,仍會拒絕連接。
是的這是一個非常愚蠢的協議,我們也不控制客戶端。 – Magnus
你控制什麼?服務器部署? – Mircea
是的,我們控制服務器,我們提供的所有客戶端都是IP和端口。 – Magnus