【问题标题】:Is there any frameworks to implement throttling mechanism in a microservice?是否有任何框架可以在微服务中实现节流机制?
【发布时间】:2020-09-13 21:24:04
【问题描述】:

我开发了以 RESTful 风格进行通信的微服务。 有没有现成的框架来实现节流机制? 我使用 Spring Boot。

这里的限制是一种通过过滤来减少传出请求频率的机制,例如重复请求。

就我而言,我认为我应该使用缓存(不知道是哪一个)来过滤掉已经处理过的重复请求。

应该在什么时间段清理缓存? (每天、每小时等)

请提示我在哪里挖掘。

【问题讨论】:

    标签: rest microservices throttling


    【解决方案1】:

    Spring Boot 提供了 @Cacheable 和类似的注解,它们指示方法结果应该如何缓存以及如何缓存。例如。 @CachePut(value="addresses", condition="#Person.name=='Tom'") public String getAddress(Person person) {...} 如果参数 person 的名字是“Tom”,将缓存结果。这是如何实现过滤的示例。

    由于您使用的是 Spring Boot,因此您可以将 spring-boot-starter-cache 作为依赖项引入,它会为您提供注解和缓存。

    也可以定义缓存被驱逐的频率,例如使用 Spring 的 @Scheduled 注解,具体频率取决于您的用例。

    这只是对以下参考资料的一个小见解:

    【讨论】:

      猜你喜欢
      • 2016-04-07
      • 1970-01-01
      • 2021-10-23
      • 2015-04-02
      • 1970-01-01
      • 1970-01-01
      • 2022-12-01
      • 1970-01-01
      • 2017-12-26
      相关资源
      最近更新 更多