快速入門
本文從本地工程開發(fā)到應用的云端發(fā)布,再到配置限流,介紹服務限流的整理過程。
操作步驟
本地工程開發(fā)。
操作步驟請參見 本地實現(xiàn) SOFARPC 服務。
引入依賴和本地配置。
引入依賴
在 SOFABoot Web 工程
endpoint
模塊下的pom.xml
文件中,引入 DRM 和 guardian 依賴,示例如下:<dependency> <groupId>com.alipay.sofa</groupId> <artifactId>ddcs-enterprise-sofa-boot-starter</artifactId> </dependency> <dependency> <groupId>com.alipay.sofa</groupId> <artifactId>guardian-sofa-boot-starter</artifactId> </dependency>
使用
rest-enterprise-sofa-boot-starter
和rpc-enterprise-sofa-boot-starter
時,都需要引入上述依賴。引入
rpc-enterprise-sofa-boot-starter
時,如果需要使用限流功能,還需要引入下述依賴,否則限流不起作用。<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-autoconfigure</artifactId> </dependency> <dependency> <groupId>com.alipay.sofa</groupId> <artifactId>tracer-enterprise-sofa-boot-starter</artifactId> </dependency>
定義接口時還需要自定義一個異常和一個異常處理器,用于限流成功后拋出異常,并且把異常處理結(jié)果返回給前端。
本地配置
當您引入
guardian-sofa-boot-starter
依賴時,應用已經(jīng)可以對 SOFARPC 接口和 Spring MVC 請求進行限流。如果您還需要對內(nèi)部 Spring Bean 定義的方法進行限流,則需要在 Spring Bean 配置文件中添加配置 AOP 攔截器。示例如下:<!-- 引入 guardian 中定義的 bean。 --> <import resource="classpath:META-INF/spring/guardian-sofalite.xml"/> <!-- 配置 AOP 攔截器。 --> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="interceptorNames"> <list> <value>guardianExtendInterceptor</value> </list> </property> <property name="beanNames"> <list> <!-- 配置需要被攔截的 bean。 --> <value>*DAO</value> </list> </property> <!-- 如要使用 CGLIB 代理,取消下面這行的注釋。 --> <!-- <property name="optimize" value="true" /> --> </bean>
云端發(fā)布。
請參考下述信息,完成應用的云端發(fā)布:
應用整體的發(fā)布流程,請參見 技術(shù)棧使用指南。
應用的詳細發(fā)布步驟,請參見 快速入門。
在 SOFAStack 控制臺配置限流規(guī)則。
配置步驟,請參見 控制臺配置限流規(guī)則。
文檔內(nèi)容是否對您有幫助?