在微服务环境中使用 Azure App Configuration 进行动态配置
Using Azure App Configuration for dynamic configuration in a microservice environment
我试图了解如何在 Azure 应用程序配置值发生更改时通过事件驱动方法通知多个微服务 (MS) 实例。我发现我通过 Eventgrid 可以侦听 Azure 应用程序配置中的更改,但我没有找到任何内置方法将事件分发到多个实例(许多 MS 实例)...我可以选择 webhook,但它会是一个例如,我可以选择其他事件驱动的方法作为事件中心,但我必须设置它,我想知道什么是最佳实践?我不希望每个 MS 都轮询更改而不是被通知并接收已更改的内容或者是否有更好的内置 approach/strategy?
对于来自 Azure 应用程序配置的基于推送的配置更新,建议的方法是将事件转发到服务总线主题。 Azure 服务总线 SDK 提供 RegisterMessageHandler 方法,允许客户端注册一个消息处理程序,该处理程序将为主题中收到的每条消息触发。微服务的每个实例都可以设置对此服务总线主题的订阅,并在服务初始化期间注册消息处理程序以接收配置更新。
可以找到设置服务总线主题的说明 here. Details on the protocols available to subscribe to service bus topics and the required firewall configuration can be found here。由于单个主题最多可支持 2000 个订阅,因此此方法将允许最多 2000 个服务实例。
我试图了解如何在 Azure 应用程序配置值发生更改时通过事件驱动方法通知多个微服务 (MS) 实例。我发现我通过 Eventgrid 可以侦听 Azure 应用程序配置中的更改,但我没有找到任何内置方法将事件分发到多个实例(许多 MS 实例)...我可以选择 webhook,但它会是一个例如,我可以选择其他事件驱动的方法作为事件中心,但我必须设置它,我想知道什么是最佳实践?我不希望每个 MS 都轮询更改而不是被通知并接收已更改的内容或者是否有更好的内置 approach/strategy?
对于来自 Azure 应用程序配置的基于推送的配置更新,建议的方法是将事件转发到服务总线主题。 Azure 服务总线 SDK 提供 RegisterMessageHandler 方法,允许客户端注册一个消息处理程序,该处理程序将为主题中收到的每条消息触发。微服务的每个实例都可以设置对此服务总线主题的订阅,并在服务初始化期间注册消息处理程序以接收配置更新。
可以找到设置服务总线主题的说明 here. Details on the protocols available to subscribe to service bus topics and the required firewall configuration can be found here。由于单个主题最多可支持 2000 个订阅,因此此方法将允许最多 2000 个服务实例。