簡體   English   中英

Azure Service Fabric無狀態服務的配置和資源管理選項?

[英]Configuration and resource governance options for Azure Service Fabric stateless services?

我是使用Service Fabric的新手,正在嘗試確定一些設計選項。 我有一個執行不同任務的類庫。 有些任務占用大量資源且運行時間長(處理來自隊列的消息),而另一些任務則壽命短且必須響應(處理用戶的作業請求)。 有大量的緩存數據,因此共享進程很有意義,並且應用程序是無狀態的。 我要確保長時間運行的任務不會使其他任務耗盡資源,而且要確保利用率很高。

  1. 是否有可能在我的解決方案中創建一個Stateless Service項目(引用我的類庫)並部署多個共享相同進程的命名StatelessService實例,並使用配置來區分這些實例執行的任務? 有或沒有多個ServiceType(盡管每個項目它們似乎都是一個,所以我認為這必須是一個ServiceType)?

  2. 如果是這樣,是否有可能將不同的資源管理規則應用於這些服務實例,以便為用戶驅動的任務保留一些資源? 到目前為止,我的印象是,當服務共享一個流程時,這是不可能的。

  1. 默認共享過程模型指定了以下內容:

上一節介紹了Service Fabric提供的默認托管模型,稱為共享流程模型。 在此模型中,對於給定的應用程序,給定ServicePackage的一個副本僅在節點上被激活(該副本將啟動其中包含的所有CodePackage)。 給定ServiceType的所有服務的所有副本都放置在注冊該ServiceType的CodePackage中。 換句話說,給定ServiceType的節點上所有服務的所有副本都共享同一進程。

可以指定多種服務類型和多種代碼包。

ServiceTypes在此清單中聲明CodePackages支持哪些服務類型。 當針對這些服務類型之一實例化服務時,通過運行其入口點來激活此清單中聲明的​​所有代碼包。 預期生成的進程將在運行時注冊支持的服務類型。 服務類型在清單級別而不是代碼包級別聲明。 因此,當有多個代碼包時,只要系統查找任何一種聲明的服務類型,它們都將被激活。

  1. 資源管理是在服務清單中配置的,而不是在實例級別上配置的。

暫無
暫無

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

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