我在應用程序中有一組無狀態和有狀態的服務。很顯然,我希望它們能夠完美運行,但有些情況下我的應用程序知道它無法從故障中恢復。例如,如果無法從KeyVault(及其故障轉移副本)加載其配置設置,則沒有任何意義。服務結構 - 如何優雅地失敗應用程序
所以問題是,如何讓服務面料放棄整個應用?我已經嘗試了Partition.ReportFault(FaultType.Permenant),但保佑它,它試圖啓動一個新的分區。 :-)
很顯然,我們正在向Ops和DevOps發送警報信息,包括自動電子郵件,以便它們可以恢復,但是如果Service Fabric可以接受「自殺」請求而不是生成(副本計數x重試計數)致命錯誤數報告並最終死亡。
謝謝。正如你所建議的,我可能會使用「execution子手」服務,因爲我們有公共端點。我將使用通過身份驗證的方式發送「殺死我」消息,以便管理員任務可以驗證請求的真實性,並且可以適當地通知操作。 – MarkD
沒問題。我認爲這聽起來像個好主意。 –