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

使用Alibaba Cloud Toolkit自動化部署微服務至SAE

本文介紹如何使用Alibaba Cloud Toolkit部署應用至SAE,以及對應用進行監控。

前提條件

步驟一:在SAE創建Demo應用

SAE支持代碼包和鏡像方式部署應用。具體操作,請參見將Java應用部署到SAE 1.0

本文以JAR包方式為例,在SAE分別創建Provider和Consumer應用。具體操作,請參見在SAE控制臺使用JAR文件部署微服務應用

步驟二:創建服務提供者

在本地創建服務提供者應用工程,添加依賴,開啟服務注冊與發現功能,并將注冊中心指定為Nacos Server。

  1. 創建命名為nacos-service-provider的Maven工程。

  2. pom.xml文件中添加依賴。

    以Spring Boot 2.1.4.RELEASE和Spring Cloud Greenwich.SR1為例,依賴如下:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/>
    </parent>
    
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.1.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>                  

    示例中使用的版本為Spring Cloud Greenwich ,對應Spring Cloud Alibaba版本為2.1.1.RELEASE。

    • 如果使用Spring Cloud Finchley版本,對應Spring Cloud Alibaba版本為2.0.1.RELEASE。

    • 如果使用Spring Cloud Edgware版本,對應Spring Cloud Alibaba版本為1.5.1.RELEASE。

    說明

    Spring Cloud Edgware版本的生命周期已結束,不推薦使用這個版本開發應用。

  3. src\main\java下創建名為com.aliware.edasPackage

  4. com.aliware.edas中創建服務提供者的啟動類ProviderApplication,并添加如下代碼。

    其中@EnableDiscoveryClient注解表明此應用需開啟服務注冊與發現功能。

    package com.aliware.edas;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
    
    @SpringBootApplication
        @EnableDiscoveryClient
        public class ProviderApplication {
    
            public static void main(String[] args) {
                SpringApplication.run(ProviderApplication.class, args);
            }
        }             
  5. 在Packagecom.aliware.edas中創建EchoController,指定URL mapping為{/echo/{String}},指定HTTP方法為GET,方法參數從URL路徑中獲得,回顯收到的參數。

    package com.aliware.edas;
    
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    public class EchoController {
       @RequestMapping(value = "/echo/{string}", method = RequestMethod.GET)
        public String echo(@PathVariable String string) {
           return string;
          }
    }              
  6. src\main\resources路徑下創建文件application.properties,在application.properties中添加如下配置,并指定Nacos Server的訪問地址。

    spring.application.name=service-provider
    server.port=18081
    spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848               

    其中127.0.0.1為Nacos Server的IP地址。如果您的Nacos Server部署在其他設備,則需要修改成對應的IP地址。

    說明

    如果您的服務注冊中心為自建服務注冊中心,請將127.0.0.1替換為您的自建服務注冊中心地址。

  7. 驗證結果。

    1. 執行nacos-service-providerProviderApplicationmain函數,啟動應用。

    2. 登錄本地啟動的Nacos Server控制臺http://127.0.0.1:8848/nacos(本地Nacos控制臺的默認用戶名和密碼同為nacos)。

    3. 在左側導航欄中選擇服務管理 > 服務列表

      可以看到服務列表中已經包含了service-provider,且在詳情中可以查詢該服務的詳情。

步驟三:創建服務消費者

本步驟介紹服務注冊的功能,以及Nacos服務發現與RestTemplate和FeignClient兩個客戶端如何配合使用。

  1. 創建命名為nacos-service-consumer的Maven工程。

  2. pom.xml中添加依賴。

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.4.RELEASE</version>
        <relativePath/>
    </parent>
    
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.1.1.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
    </dependencies>
    
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Greenwich.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>        
  3. src\main\java下創建名為com.aliware.edasPackage

  4. com.aliware.edas中配置RestTemplate和FeignClient。

    1. 在Packagecom.aliware.edas中創建一個接口類EchoService,添加@FeignClient注解,并配置對應的HTTP URL地址及HTTP方法。

      package com.aliware.edas;
      
      import org.springframework.cloud.openfeign.FeignClient;
      import org.springframework.web.bind.annotation.PathVariable;
      import org.springframework.web.bind.annotation.RequestMapping;
      import org.springframework.web.bind.annotation.RequestMethod;
      
      @FeignClient(name = "service-provider")
      public interface EchoService {
          @RequestMapping(value = "/echo/{str}", method = RequestMethod.GET)
          String echo(@PathVariable("str") String str);
      }                   
    2. com.aliware.edas中創建啟動類ConsumerApplication并添加相關配置。

      • 使用@EnableDiscoveryClient注解啟用服務注冊與發現。

      • 使用@EnableFeignClients注解激活FeignClient。

      • 添加@LoadBalanced注解將RestTemplate與服務發現集成。

      package com.aliware.edas;
      
      import org.springframework.boot.SpringApplication;
      import org.springframework.boot.autoconfigure.SpringBootApplication;
      import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
      import org.springframework.cloud.client.loadbalancer.LoadBalanced;
      import org.springframework.cloud.openfeign.EnableFeignClients;
      import org.springframework.context.annotation.Bean;
      import org.springframework.web.client.RestTemplate;
      
      @SpringBootApplication
      @EnableDiscoveryClient
      @EnableFeignClients
      public class ConsumerApplication {
      
          @LoadBalanced
          @Bean
          public RestTemplate restTemplate() {
              return new RestTemplate();
          }
      
          public static void main(String[] args) {
              SpringApplication.run(ConsumerApplication.class, args);
          }
      }
  5. com.aliware.edas中創建類TestController以演示和驗證服務發現功能。

    package com.aliware.edas;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    import org.springframework.web.client.RestTemplate;
    
    @RestController
    public class TestController {
    
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private EchoService echoService;
    
    @RequestMapping(value = "/echo-rest/{str}", method = RequestMethod.GET)
    public String rest(@PathVariable String str) {
          return restTemplate.getForObject("http://service-provider/echo/" + str,
                        String.class);
            }
    
          @RequestMapping(value = "/echo-feign/{str}", method = RequestMethod.GET)
          public String feign(@PathVariable String str) {
                return echoService.echo(str);
            }
    
        }           
  6. src\main\resources路徑下創建文件application.properties,在application.properties中添加如下配置,指定Nacos Server的地址。

    spring.application.name=service-consumer
    server.port=18082
    spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

    其中127.0.0.1為Nacos Server的IP地址。如果您的Nacos Server部署在其他設備,則需要修改成對應的IP地址。

    說明

    如果您的服務注冊中心為自建服務注冊中心,請將127.0.0.1:8848替換為您的自建服務注冊中心地址。

  7. 驗證結果。

    1. 執行nacos-service-consumerConsumerApplicationmain函數,啟動應用。

    2. 登錄本地啟動的Nacos Server控制臺http://127.0.0.1:8848/nacos(本地Nacos控制臺的默認用戶名和密碼同為nacos)。

    3. 在左側導航欄中選擇服務管理 > 服務列表

      可以看到服務列表中已經包含了service-consumer,且在詳情中可以查詢該服務的詳情。

步驟四:本地測試

在本地測試消費者對提供者的服務調用結果。

  • Linux/Unix/macOS系統:運行以下命令。

    curl http://127.0.0.1:18082/echo-rest/rest-rest
    curl http://127.0.0.1:18082/echo-feign/feign-rest
  • Windows系統:在瀏覽器中輸入http://127.0.0.1:18082/echo-rest/rest-resthttp://127.0.0.1:18082/echo-feign/feign-rest

本示例以Windows系統為例。

Spring Cloud微服務應用是使用MSE調用成功

表示本地開發的微服務Provider和Consumer調用正常。

步驟五:部署應用至SAE

應用程序完成開發后,您需要在Cloud Toolkit中配置部署任務信息,將您的業務代碼發布至步驟一:在SAE創建Demo應用所創建的應用。

  1. 配置Cloud Toolkit賬戶。

    1. 單擊Cloud Toolkit圖標Alibaba Cloud Toolkit圖標,在下拉列表中單擊 Preferensce…,在設置頁面左側導航欄選擇 Alibaba Cloud Toolkit > Accounts

    2. Accounts界面中設置Access Key IDAccess Key Secret,并單擊OK

      說明

      Access Key IDAccess Key Secret獲取方法:

      Accounts界面中單擊Get existing AK/SK,進入并登錄阿里云登錄頁面,系統自動跳轉至安全信息管理頁面,獲取Access Key IDAccess Key Secret

  2. 配置部署任務。

    1. 在IntelliJ IDEA上單擊Cloud Toolkit 圖標Alibaba Cloud Toolkit圖標,并在下拉列表中選擇Deploy to SAE

    2. Deploy to SAE運行配置頁面,配置應用部署參數。配置完成后單擊Apply保存設置。

      說明

      如果您使用自建服務注冊中心,您還需要在Advanced頁簽中配置啟動命令-Dnacos.use.endpoint.parsing.rule=false-Dnacos.use.cloud.namespace.parsing=false

      • Provider 應用配置

        配置應用部署的區域、命名空間和步驟一:在SAE創建Demo應用中創建的應用。

        在ACT上配置Provider

      • Consumer應用配置

        配置應用部署的區域、命名空間和創建的應用。

        Consumer應用配置

  3. 部署應用。

    單擊Run,運行Provider應用后,然后運行Consumer應用。運行時

  4. 結果驗證。

    1. 為Consumer應用綁定SLB。

      具體操作,請參見為應用綁定CLB為Consumer綁定SLB

    2. 訪問Consumer。

      1. 對Consumer發起HTTP請求。

        curl http://47.111.XX.XX/echo-feign/feign-rest

      2. 對Consumer發起HTTP請求,Consumer調用Provider。

        curl http://47.111.XX.XX/echo-rest/rest-rest

      調用請求

    3. 在應用監控大盤查看調用數據。

      在Consumer應用的應用監控中查看應用調用信息。

      應用總覽應用詳情接口調用詳情