簡體   English   中英

使用 Azure 功能管理器與常規配置值“true”和“false”相比有什么好處

[英]What is the benefit of using the Azure Feature Manager vs regular configuration value of "true" and "false"

從我在這里看到的情況來看,如果我設置了 Azure App Config 並希望其中有一個功能標志,為了讀取它的值或利用它,我必須:

  1. 安裝一個 nuget,與我已經需要的 App Config 的 Microsoft.Extensions.Configuration 分開
  2. 在“CreateHostBuilder”中添加“UseFeatureFlags”
  3. 在啟動服務中注冊功能管理
  4. 有一個枚舉,專門為每個標志設計
  5. 在“_ViewImports”中注冊功能管理器

而且我看不出 ALL THAT 給我帶來什么好處,而不是讓標准配置值帶有“true”或“false”並跳過所有前面的步驟,而只是 go“if (featureValue)”。

那么,我不知道有什么好處值得經歷所有這些麻煩呢?

關鍵功能可能是使用條件功能標志https://learn.microsoft.com/en-us/azure/azure-app-configuration/howto-feature-filters-as.net-core ,這要多得多比僅在您的配置中存儲 boolean 更復雜。

使用一個始終支持這兩者的庫是一個更好的主意。

但是,如果您只打算使用 static 功能標志,您可能會認為付出的努力超過了它的價值。

簡而言之,這里有一些優點:

  • 管理功能標志的集中位置
  • 標簽選項
  • 特征過濾器

目標篩選器是一種內置篩選器,允許動態啟用或禁用特定用戶或組的功能。 例如,您可以使用定位過濾器在演示期間僅為特定用戶啟用功能。 您還可以使用它逐步向自定義組或“環”中的用戶推出新功能,或者設置默認推出百分比以向所有用戶發布功能。

除此之外,功能管理還可以幫助開發人員解決以下問題:

  • 代碼分支管理:使用功能標志來包裝當前正在開發的新應用程序功能。 默認情況下,此類功能是“隱藏”的。 您可以安全地發布該功能,即使它尚未完成,並且它將在生產中保持休眠狀態。 使用這種稱為暗部署的方法,您可以在每個開發周期結束時發布所有代碼。 您不再需要跨多個開發周期維護代碼分支,因為給定的功能需要多個周期才能完成。
  • 在生產中測試:使用功能標志來授予對生產中新功能的早期訪問權限。 例如,您可以限制團隊成員或內部 Beta 測試人員的訪問權限。 這些用戶將體驗到完全逼真的生產體驗,而不是測試環境中的模擬或部分體驗。
  • Flighting :使用功能標志逐步向最終用戶推出新功能。 您可以首先定位一小部分用戶,然后隨着時間的推移逐漸增加該百分比。
  • Instant kill switch :功能標志為發布新功能提供了一個內在的 safety.net。 您可以在不重新部署任何代碼的情況下打開和關閉應用程序功能。 如有必要,您可以快速禁用某個功能,而無需重建和重新部署您的應用程序。
  • 選擇性激活:使用功能標志來細分您的用戶並向每個組提供一組特定的功能。 您可能擁有僅適用於特定 web 瀏覽器的功能。 您可以定義一個功能標志,以便只有該瀏覽器的用戶才能看到和使用該功能。 使用這種方法,您可以在以后輕松擴展支持的瀏覽器列表,而無需進行任何代碼更改。

資料來源: 功能管理概述

暫無
暫無

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

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