当前位置: 首页 > 知识库问答 >
问题:

Spring云配置服务器/总线自动刷新可扩展性

东博瀚
2023-03-14

据我所知,当Spring Cloud Config Server配置更改时,可以通过Spring Cloud Bus在微服务之间传播刷新事件。然后,这会触发通知的微服务从Spring Cloud Config Server中提取最新配置。

这种方法的扩展性好吗?我的意思是,我们可以有1000个微服务实例,如果一些全局配置发生变化,那么所有这1000个微服务都会在同一时刻尝试从配置服务器获取配置。这难道不意味着超载和崩溃吗?

共有1个答案

田嘉慕
2023-03-14

此问题的解决方案可能是对Spring Cloud Configuration Server的请求强制执行一些速率限制策略。

速率限制策略强制每单位时间只处理有限数量的请求,以保护您的应用程序免受资源耗尽。此处详细介绍了此策略及其风格的更全面解释。

对于这种特殊情况,您可以通过添加速率限制器过滤器来限制对Spring云配置服务器的请求。您可以将过滤器添加到Spring云配置服务器,就像添加到任何其他Spring应用程序一样。这篇文章提供了一个如何应用安全过滤器的示例—您可以使用速率限制器过滤器执行类似的操作。

如果您的Spring Cloud Configuration Server在Nginx或Apache等反向代理服务器后面运行,您可以在反向代理上配置速率限制策略。

 类似资料:
  • 我已经配置了spring cloud config,它从GitHub获取属性。如果发送到,我还可以在应用程序中获得更新的值。 我是否需要为它实现Rabbitmq和云总线,或者有任何其他简单的方法来实现它?另外,该文档指出,我们需要为推送通知添加对spring-cloud-config-monitor库的依赖关系。http://projects.spring.io/spring-cloud/spri

  • 我有一个SpringBoot应用程序,它使用配置服务器加载其属性。属性存在于src中。配置服务器项目的main/resources/config目录。 当我到达restfulendpoint时,属性初始加载良好,然后当我更改属性时,它仍然显示旧的属性值。如何在调用URL时调用刷新终结点?我是在配置服务还是你好服务上调用它?即使从日志看起来已经映射了它们,它仍然会抛出405错误 配置服务器 或者你好

  • 我正在使用Spring Cloud Config服务器,能够检测来自git存储库的更改并将其传递给配置客户机。 有两种方法,我已经实现了: null 所以两者都工作得很好,那么使用Spring Cloud Bus有什么好处吗?或者在生产环境中,不使用Spring Cloud Bus会有什么问题吗?因为将需要额外的工作来设置RabbitMQ集群(HA)作为生产中的Spring云总线。 谢谢,大卫

  • 我的Spring云配置客户端依赖于Spring。云起动机。公共汽车amqp,但它仍然没有启用总线/刷新endpoint 我在配置客户端应用程序中有这些依赖项,但仍然没有启用总线/刷新、总线/环境。 请让我知道我的客户申请中缺少什么。 注: 我尝试在应用程序中设置这些指标。yml或应用程序。属性,因为这些属性由总线自动配置用来启用endpoint。 在我的Spring Cloud Config Se

  • 我正在关注应用程序中的条目。 我有下面的spring云服务器应用程序代码。 我收到以下错误。 启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2021 02月24日01:39:52.356错误20804---[restartedMain]o.s.b.d.LoggingFailureAnalysisReporter: 应用程序无法启动 描述:

  • 我可以动态刷新Spring Boot的自动配置设置所使用的属性吗? 例如,我设置了以下属性(通过云配置)来自动配置: 现在,如果我更改配置服务器上的密码道具,并命中终结点,我可以看到已检索到更新的道具,但没有刷新。 我知道我可以手动配置bean,并确保它们属于,但我希望找到一种方法将自动配置的属性标记为“可刷新”。我有一些用例,我想刷新Spring Boot为数据源之外的其他bean使用的道具,手