Kubernetes 上的 Akka 應用程序面臨心跳延遲,即使沒有負載也是如此。還不斷出現以下警告:heartbeat interval is growing too large for address ...我嘗試為集群添加自定義調度程序,甚至為每個特定參與者添加自定義調度程序,但沒有幫助。我沒有做任何阻塞操作,因為它只是一個簡單的 Http 服務器。當集群有負載時,節點變得無法訪問。我創建了一個可用于重現問題的存儲庫:https://github.com/CostasChaitas/Akka-Demo
2 回答

汪汪一只貓
TA貢獻1898條經驗 獲得超8個贊
首先,感謝記錄良好的復制者。我確實發現了一個與您所包含的依賴項有關的小故障,但很容易解決。
也就是說,我無法重現您的錯誤。在我的本地計算機和開發集群上一切正常。你不包括你的負載生成器,所以也許我只是沒有生成持續的負載,但我根本沒有心跳延遲。
我懷疑這是Kubernetes 上 Akka Cluster 心跳延遲的重復。如果是這樣,聽起來您已經檢查過我通常懷疑的 GC 和 CFS。如果您能夠在本地重現,那么這也不太可能是我的另一個常見問題,即 K8 網絡配置不當。(我有一個客戶端在 K8 上使用 Akka 集群時遇到了問題,結果發現這只是一個配置錯誤的集群:網絡正在丟棄并延遲 Pod 之間的數據包。)
既然你說這是負載測試,也許你只是用完了套接字/文件?您無需進行太多 HTTP 服務器配置。(也沒有任何 JVM 選項。)
我認為我的下一個調試步驟是連接到正在運行的容器之一并嘗試測試網絡中 Pod 之間的網絡。

SMILET
TA貢獻1796條經驗 獲得超4個贊
我也遇到了同樣的心跳間隔增加的問題,但就我而言,一旦我開始使用集群,盡管負載不高,我只嘗試了 2tps。
瀏覽 Akka 文檔我發現 Akka 不鼓勵使用resources.limits.cpu
.?我將其從部署清單文件中刪除,它工作正常,沒有延遲。
添加回答
舉報
0/150
提交
取消