簡體   English   中英

Azure 上的有狀態和無服務器服務

[英]Stateful and serverless services on Azure

我正處於一個過程中,我需要將一堆舊的 Windows 服務轉換為對雲更友好的方式。 目前,解決方案中唯一的雲是它們都托管在 Azure 虛擬機上。 而且,當然,如果不擴展整個虛擬機,您就無法擴展特定服務。

許多服務幾乎可以直接轉換為 Azure Functions,但其他服務是有狀態的,例如需要登錄外部部分的程序,然后才能執行其操作。

我們有哪些選項可以在需要狀態的 Azure 中創建無服務器服務,或者我是否需要使用 Azure Worker Services 或 Azure Service Fabric 等技術?

現在我有了更好的理解,我可以提供一些信息。

工作人員服務(以前的雲服務)沒有被棄用。 您可以使用 Service Fabric 或虛擬機作為替代。

您可以使用虛擬機規模集輕松擴展虛擬機,但您需要編寫無狀態服務,或使用專用服務作為“狀態服務器”(例如,需要狀態服務器的 Web 應用程序,您可以使用 Azure Redis緩存)。

我通常將批處理作業重寫為 Azure Functions,並且我會盡可能使用 Durable Functions,因為它簡化了我的函數代碼。

請注意,您目前無法在 .NET 5 中使用 Durable Functions。 目前尚不清楚它是否會得到支持,或者他們是否會直接跳到 .NET 6。

作為另一種選擇,您可以使用 Hangfire 等框架並托管 Azure 應用服務計划(假設您已經擁有)。 它非常適合長時間運行的流程,並有一個很棒的儀表板,您可以在其中監控作業的狀態。

您還可以使用 Azure 容器實例衍生一些容器並使用它來處理您的作業。

現在有了所有這些信息,選擇取決於您的要求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM