全部产品

服务限流快速入门

更新时间:2020-07-22 10:49:44

服务限流的使用,主要分为下述几个步骤:

引入依赖和本地配置

引入依赖

在SOFABoot Web 工程 endpoint模块下的 pom.xml 文件中,引入 DRM 和 guardian 依赖,示例如下:

  1. <dependency>
  2. <groupId>com.alipay.sofa</groupId>
  3. <artifactId>ddcs-enterprise-sofa-boot-starter</artifactId>
  4. </dependency>
  5. <dependency>
  6. <groupId>com.alipay.sofa</groupId>
  7. <artifactId>guardian-sofa-boot-starter</artifactId>
  8. </dependency>

本地配置

  • 引入依赖 guardian-sofa-boot-starter:应用已经可以对 SOFARPC 接口和 Spring MVC 请求进行限流。
  • 配置 AOP 拦截器:如果需要对内部 Spring Bean 定义的方法进行限流,则需要在 Spring Bean 配置文件中添加配置 AOP 拦截器。示例如下:
    1. <!-- 引入 guardian 中定义的 bean -->
    2. <import resource="classpath:META-INF/spring/guardian-sofalite.xml"/>
    3. <!-- 配置 AOP 拦截器 -->
    4. <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
    5. <property name="interceptorNames">
    6. <list>
    7. <value>guardianExtendInterceptor</value>
    8. </list>
    9. </property>
    10. <property name="beanNames">
    11. <list>
    12. <!-- 配置需要被拦截的 bean -->
    13. <value>*DAO</value>
    14. </list>
    15. </property>
    16. <!-- 如要使用 CGLIB 代理,取消下面这行的注释 -->
    17. <!-- <property name="optimize" value="true" /> -->
    18. </bean>

云端发布

请参考下述信息,完成应用的云端发布:

  • 应用整体的发布流程,请参考 技术栈使用指南 中的 技术栈与应用发布流程
  • 应用的详细发布步骤,建议参考 经典应用服务 下的 快速入门

控制台限流操作

应用部署完成后,需前往 SOFAStack 控制台 > 中间件 > 微服务平台 > 微服务 > 服务治理 > 服务限流 进行限流任务的创建与配置,详情参见 新增限流规则