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

使用MSE的Nacos注冊中心

本地開發的Spring Cloud應用或者Dubbo應用托管到Serverless 應用引擎 SAE(Serverless App Engine)時,您可以使用SAE的注冊中心,也可以使用MSE托管的注冊中心。本文介紹如何搭建MSE的Nacos服務注冊中心,并將應用部署在SAE進行托管。

前提條件

  • 已創建專有網絡,并確保網絡可用。具體操作,請參見創建和管理專有網絡

  • 執行應用程序前,確保Nacos注冊中心的訪問端口(例如8848)已添加至安全組。具體操作,請參見添加安全組規則

背景信息

某創業公司現在需要將微服務應用托管至SAE,期望使用MSE Nacos,不使用SAE內置注冊中心。

如果是集群部署,請參見集群部署說明

當您的微服務應用較多時,注冊中心按推薦程度由高到低依次排序如下:

  • 商業版的服務注冊中心(MSE Nacos)

  • 自建服務注冊中心

  • SAE內置服務注冊中心

使用自建Nacos作為應用服務發現、配置管理等功能,您需要購買相應的資源進行搭建和維護,耗時耗力。使用MSE構建的Nacos集群,您僅需關注Nacos的構建位置、版本、網絡和規格,不必關注Nacos的構建和維護,更加聚焦業務本身的實現。

重要

為了確保能夠正常連接MSE Nacos,建議使用2.2.2及以上的Nacos客戶端版本。如果使用2.2.2以下的版本,將會始終連接SAE內置注冊中心,從而導致無法連接MSE Nacos。

步驟一:購買并構建Nacos引擎

關于如何在MSE上為應用創建Nacos引擎的具體操作,請參見創建Nacos引擎

重要

購買的Nacos注冊中心,盡量與SAE應用使用同一個VPC,或者使用其他方式保持網絡互通。

步驟二:服務注冊與發現

Nacos啟動后,服務注冊與發現功能需要在應用側指定服務注冊中心進行操作。應用程序執行后,系統會依據所設服務注冊中心,自動進行服務注冊與發現。

重要

執行應用程序前,請確保您Nacos注冊中心的訪問端口(例如8848)已添加至您的安全組。

在服務應用側指定注冊中心,并運行Provider和Consumer應用。

分別打開src\main\resources路徑下的application.properties文件,指定Nacos Server的IP地址。

當使用MSE的Nacos注冊中心時,您可以登錄MSE注冊配置中心管理控制臺,在實例列表頁面,單擊目標實例。然后在目標實例的基礎信息頁面,獲取注冊中心的內網地址。sc_nacos_intranet_address

  • Provider

    修改前:

    spring.application.name=service-provider
    server.port=18081
    eureka.client.serviceUrl.defaultZone=http://127.0.0.1:8761/eureka/

    修改后:

    spring.application.name=service-provider
    server.port=18081
    spring.cloud.nacos.discovery.server-addr=192.168.XX.XX:8848 # 替換為您購買的Nacos注冊中心的地址,例如mse:**********:8848。
  • Consumer

    修改前:

    spring.application.name=service-consumer
    server.port=18082
    eureka.client.serviceUrl.defaultZone=http://127.0.0.1:8761/eureka/

    修改后:

    spring.application.name=service-consumer
    server.port=18082
    spring.cloud.nacos.discovery.server-addr=192.168.XX.XX:8848 # 替換為您購買的Nacos注冊中心的地址,例如mse:**********:8848。

步驟三:應用托管至SAE

將本地服務Provider和Consumer應用程序編譯為WAR包、JAR包或者鏡像,部署到SAE并按需選擇以下方式連接Nacos。具體操作,請參見以下文檔:

方式一:配置服務注冊發現

SAE提供Java微服務自動尋址的Nacos Server能力,您可以通過SAE服務注冊發現功能配置。具體操作,請參見使用SAE內置Nacos

image.png

方式二:配置啟動參數

通過配置啟動參數的方式時,您需要確認以下內容。

  • 確保SAE的網絡與MSE Nacos的網絡互通。

  • 建議在部署應用時,使用鏡像或者JAR包方式,并配置啟動參數-Dnacos.use.endpoint.parsing.rule=false-Dnacos.use.cloud.namespace.parsing=false

    重要

    啟動參數需要放在-jar之前,否則可能會導致無法使用非SAE自帶的注冊中心。

    • 如果采用鏡像方式,請將-Dnacos.use.endpoint.parsing.rule=false-Dnacos.use.cloud.namespace.parsing=false配置在鏡像文件的程序啟動命令中。Docker鏡像制作方法,請參見制作Java鏡像

      示例代碼如下:

      RUN echo 'eval exec java -Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false -jar $CATALINA_OPTS /home/admin/app/hello-edas-0.0.1-SNAPSHOT.jar'> /home/admin/start.sh && chmod +x /home/admin/start.sh
    • 如果采用JAR包方式,請在控制臺啟動命令設置區域的options設置文本框輸入-Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false。圖示為Open JDK 8運行環境下的Java應用。具體操作,請參見設置啟動命令sc_configure_a_startup_command_for_nacos

  • 確保-D-XX參數未交替使用,以免命令失效。示例代碼如下:

    • 修改前:

      java -Dalicloud.deployment.mode=EDAS_MANAGED -XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 -XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 -Dio.netty.transport.noNative=true -XX:+UseG1GC -Dspring.profiles.active=yace -Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false -jar /home/admin/app/xx-server.jar
    • 修改后:

      java -XX:+UseContainerSupport -XX:InitialRAMPercentage=70.0 -XX:MaxRAMPercentage=70.0 -XX:+UnlockExperimentalVMOptions -XX:+UseWisp2 -Dio.netty.transport.noNative=true -XX:+UseG1GC -Dspring.profiles.active=yace -Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false -jar /home/admin/app/xx-server.jar

結果驗證

以Consumer應用為例,在基本信息頁面的實例部署信息頁簽,在實例列表操作列,單擊Webshell,在Webshell窗口執行相關命令,驗證應用部署是否成功。更多信息,請參見使用Webshell診斷應用

  1. 驗證服務是否成功被注冊。

    curl -X GET 'http://192.168.XX.XX:8848/nacos/v1/ns/instance/list?serviceName=service-provider'
    • service-provider:服務名。

    • 192.168.XX.XX:8848:安裝Nacos的主機IP地址和端口號。192.168.XX.XX需替換成MSE Nacos注冊中心的內網地址。關于如何獲取,請參見步驟二:服務注冊與發現

    返回結果如下,表示服務已注冊成功。

    sc_verify_mse_nacos_via_webshell

  2. 驗證整個微服務應用的訪問鏈路是否正常。

    按需選擇以下命令。127.0.0.1:18082為運行Provider和Consumer的主機IP地址和訪問端口。

    • curl http://127.0.0.1:18082/echo-rest/{自定義變量}
    • curl http://127.0.0.1:18082/echo-feign/{自定義變量}

    返回結果如下,表示Consumer應用已成功調用Provider應用,微服務應用的訪問鏈路正常。sc_verify_access_link_via_webshell

更多信息

如果應用托管失敗,請參見以下文檔定位問題: