日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

接入Spring Boot/Spring Cloud應用

將Spring Boot/Spring Cloud應用接入AHAS應用防護后,可以對其配置流控、隔離、熔斷、系統(tǒng)或熱點規(guī)則來保證系統(tǒng)穩(wěn)定性。本文介紹如何使用SDK方式將Spring Boot/Spring Cloud應用接入應用防護。

操作步驟

  1. 登錄AHAS控制臺。
  2. 在AHAS控制臺左上角,選擇應用接入的地域。
  3. 在控制臺左側(cè)導航欄中選擇流量防護 > 應用防護。
  4. 應用防護頁面右上角單擊新應用接入

  5. JAVA語言頁簽,單擊SDK接入,然后單擊Spring Boot應用接入。

  6. 在Spring Boot應用的Pom文件中引入依賴。

    <dependency>
      <groupId>com.alibaba.csp</groupId>
      <artifactId>spring-boot-starter-ahas-sentinel-client</artifactId>
      <!-- 可指定版本號,最新版本見AHAS控制臺流量防護新應用接入頁。-->
      <version>x.y.z</version>
    </dependency>

    Spring Boot應用接入頁面第一步:添加Pom依賴中查看Pom依賴最新版本,將x.y.z替換為新版本的版本號。

    Spring boot version.png

  7. 在應用工程中添加埋點。

    • 添加HTTP埋點: 引入spring-boot-starter-ahas-sentinel-client依賴后,應用會自動添加Web接口埋點。

      說明

      若您從1.5.1之前的版本升級到1.5.1+版本,或額外引入了Web filter等的bean,需要先將之前注冊bean的相關(guān)代碼去掉,否則可能會導致重復統(tǒng)計。

    • 添加MyBatis SQL埋點:

      • 若您使用了MyBatis Spring Boot Starter,則引入AHAS依賴后會自動識別DAO埋點(需要spring-boot-starter-ahas-sentinel-client 1.5.1及以上版本)。

      • 若您未使用MyBatis Spring Boot Starter ,則需在MyBatis應用的XML配置文件中引入SentinelMyBatisMapperInterceptor攔截器依賴。

        <?xml version="1.0" encoding="UTF-8" ?>
        <!DOCTYPE configuration
                PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
                "http://mybatis.org/dtd/mybatis-3-config.dtd">
        <configuration>
            <plugins>
              <!-- 引入AHAS Sentinel攔截器。 -->
                <plugin interceptor="com.alibaba.csp.sentinel.adapter.mybatis.SentinelMyBatisMapperInterceptor"/>
            </plugins>
        </configuration>
    • 添加普通接口埋點(注解方式):

      1. 引入spring-boot-starter-aop。

        說明

        若您的工程中已引入此依賴,則跳過此步驟。

      2. 在業(yè)務方法使用注解作為埋點。

        若不配置BlockHandler,則被流控降級時方法會直接拋出BlockException,若方法未定義Throws BlockException則會被JVM包裝一層UndeclaredThrowableException。BlockHandlerFallback 函數(shù)的方法簽名有限制,詳情請參見配置觸發(fā)規(guī)則后的邏輯

        @SentinelResource(value = "getUserById")
        public User getUserById(String id) {
        return new User(id);
        }
    • 添加Feign埋點:引入Starter依賴后,在application.properties文件中配置feign.sentinel.enabled即可。Feign埋點的資源名格式為feign:${httpMethod}:${url},例如feign:http://localhost:8088/hello。

      說明

      spring-boot-starter-ahas-sentinel-client 1.8.4及以上版本支持。

  8. 通過以下任意一種方式,配置應用的啟動參數(shù)。

    • 添加JVM -D參數(shù)。

      類別

      參數(shù)示例

      非公網(wǎng)

      -Dahas.namespace=default -Dproject.name=AppName -Dahas.regionId=<RegionId>
      說明
      • 將AppName替換為自定義的應用名稱。

      • 將<RegionId>替換應用所在地域,地域與RegionId對應表請參見下文地域與RegionId對應表

      公網(wǎng)

      -Dahas.namespace=default -Dproject.name=AppName -Dahas.license=<license> -Dahas.regionId=cn-public
      說明

      將AppName替換為自定義的應用名稱,將<license> 替換為真實值。

    • application.properties文件中添加以下內(nèi)容:

      類別

      示例

      非公網(wǎng)

      • #指定您要接入的特定的AHAS環(huán)境。

        ahas.namespace=default
      • #自定義您的應用名稱。

        project.name=AppName
      • #填寫應用所在地域。

        ahas.regionId=RegionId
        說明

        將RegionId替換應用所在地域,地域與RegionId對應表請參見下文地域與RegionId對應表

      公網(wǎng)

      • #指定您要接入的特定的AHAS環(huán)境。

        ahas.namespace=default
      • #自定義您的應用名稱。

        project.name=AppName
      • #配置license信息。

        ahas.license=<license>
      • #配置公網(wǎng)地域。

        ahas.regionId=cn-public

      若在公網(wǎng)地域,需要查看License信息。請在第三步:配置啟動參數(shù)區(qū)域查看(非公網(wǎng)地域不需要),具體請參見查看License。

      Spring boot license.png

  9. 可選:您可以自定義Spring Boot應用觸發(fā)限流、降級或系統(tǒng)保護規(guī)則時的處理邏輯。

    • 若添加HTTP埋點,則使用Web Servlet Filter方式配置處理邏輯。具體操作,請參見Web Servlet Filter。

    • 若添加自定義埋點,則使用注解方式配置處理邏輯。具體操作,請參見注解方式。

    說明

    若未執(zhí)行此步驟,當Web接口觸發(fā)流控降級規(guī)則時,返回默認的提示信息(狀態(tài)碼為429);注解方式接口默認拋出BlockException異常類的子類(觸發(fā)流控規(guī)則,則拋出流控異常FlowException;觸發(fā)降級規(guī)則,則拋出降級異常DegradeException),若方法未定義throws BlockException則會被JVM包裝一層UndeclaredThrowableException。

結(jié)果驗證

登錄AHAS控制臺,在左側(cè)導航欄選擇流量防護 > 應用防護,若在應用防護頁面出現(xiàn)該應用的資源卡片且有數(shù)據(jù)上報,則說明接入成功。

應用防護.png

地域與RegionId對應表

地域

RegionId

公網(wǎng)

cn-public

華東1(杭州)

cn-hangzhou

華東2(上海)

cn-shanghai

華北2(北京)

cn-beijing

華北3(張家口)

cn-zhangjiakou

華南1(深圳)

cn-shenzhen

新加坡

ap-southeast-1

德國(法蘭克福)

eu-central-1