SpringCloud整合Alibaba环境搭建

雨点打透心脏的1/2处 2022-09-09 06:25 308阅读 0赞

SpringCloud整合Alibaba环境搭建

准备工作

环境要求

JDK 1.8.+、Maven 3.6.3、springboot 2.2.5、springcloud Hoxton+、springcloud alibaba 2.2.1.RELEASE

整合思路

  1. 服务注册中心 nacos
  2. 统一配置中心 nacos
  3. 服务熔断组件 sentinel
  4. 服务间通信组件 openfeign + ribbon
  5. 服务网关组件 gateway

启动服务

在上面整个思路里面可以看到我们需要nacossentinel。所以在开始搭建之前我们先启动这两个服务。如下图所示
在这里插入图片描述
在这里插入图片描述

搭建步骤

初始化parent

1.新建parent

microservices

microservices作为项目空间用作隔离其他的项目,仅仅是一个EmptyProject.
在这里插入图片描述

springcloud_alibaba_parent

我们在项目空间中新建一个Module – springcloud_alibaba_parent作为我们微服务框架的父项目,用来管理依赖及其版本
在这里插入图片描述

2.配置parent

maven

首先我们更改maven的路径为本地(一般新建项目都需要检查),如下图所示:
在这里插入图片描述

Log Support

Other Settings中找到Log Support,修改其Frameworkslf4j。如下图所示:
在这里插入图片描述

pom.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4. <groupId>com.christy</groupId>
  5. <artifactId>springcloud_alibaba_parent</artifactId>
  6. <version>1.0-SNAPSHOT</version>
  7. <!--继承springboot父项目-->
  8. <parent>
  9. <groupId>org.springframework.boot</groupId>
  10. <artifactId>spring-boot-starter-parent</artifactId>
  11. <version>2.2.5.RELEASE</version>
  12. </parent>
  13. <properties>
  14. <maven.compiler.source>8</maven.compiler.source>
  15. <maven.compiler.target>8</maven.compiler.target>
  16. <spring.cloud.version>Hoxton.SR6</spring.cloud.version>
  17. <spring.cloud.alibaba.version>2.2.1.RELEASE</spring.cloud.alibaba.version>
  18. </properties>
  19. <!--维护依赖-->
  20. <dependencyManagement>
  21. <dependencies>
  22. <!--维护springcloud-->
  23. <dependency>
  24. <groupId>org.springframework.cloud</groupId>
  25. <artifactId>spring-cloud-dependencies</artifactId>
  26. <version>${spring.cloud.version}</version>
  27. <type>pom</type>
  28. <scope>import</scope>
  29. </dependency>
  30. <!--维护springcloud alibaba-->
  31. <dependency>
  32. <groupId>com.alibaba.cloud</groupId>
  33. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  34. <version>${spring.cloud.alibaba.version}</version>
  35. <type>pom</type>
  36. <scope>import</scope>
  37. </dependency>
  38. </dependencies>
  39. </dependencyManagement>
  40. </project>

初始化common

1.新建Module

springcloud_alibaba_common作为公共依赖(暂时不做处理),主要存放后期的entity或者utils。我们新建一个Module,父项目选择上面的parent。如下图所示:
在这里插入图片描述

初始化users

springcloud_alibaba_usersspringcloud_alibaba_products作为本次微服务框架搭建的两个主要示例,主要展示在users中调用product中的方法来展示微服务间的调用。首先我们来看下springcloud_alibaba_users的搭建

1.新建Module

在这里插入图片描述

2.pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <parent>
  4. <artifactId>springcloud_alibaba_parent</artifactId>
  5. <groupId>com.christy</groupId>
  6. <version>1.0-SNAPSHOT</version>
  7. </parent>
  8. <modelVersion>4.0.0</modelVersion>
  9. <artifactId>springcloud_alibaba_users</artifactId>
  10. <properties>
  11. <maven.compiler.source>8</maven.compiler.source>
  12. <maven.compiler.target>8</maven.compiler.target>
  13. </properties>
  14. <dependencies>
  15. <!-- spring-boot-starter-web -->
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-web</artifactId>
  19. </dependency>
  20. <!-- nacos注册与发现 -->
  21. <dependency>
  22. <groupId>com.alibaba.cloud</groupId>
  23. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  24. </dependency>
  25. </dependencies>
  26. </project>

3.application.properties

  1. server.port=8881
  2. spring.application.name=USERS
  3. # 注册到nacos
  4. spring.cloud.nacos.server-addr=192.168.8.190:8848

4.UserApplication.java

  1. import org.springframework.boot.SpringApplication;
  2. import org.springframework.boot.autoconfigure.SpringBootApplication;
  3. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  4. /** * @Author Christy * @Date 2021/8/27 9:49 **/
  5. @SpringBootApplication
  6. @EnableDiscoveryClient
  7. public class UserApplication {
  8. public static void main(String[] args){
  9. SpringApplication.run(UserApplication.class, args);
  10. }
  11. }

5.启动

我们启动该模块,然后在nacos的服务管理列表中能够看到该服务,则说明我们的springcloud_alibaba_users初始搭建是没有问题的。
在这里插入图片描述

初始化products

1.新建Module

在这里插入图片描述

2.pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <parent>
  4. <artifactId>springcloud_alibaba_parent</artifactId>
  5. <groupId>com.christy</groupId>
  6. <version>1.0-SNAPSHOT</version>
  7. </parent>
  8. <modelVersion>4.0.0</modelVersion>
  9. <artifactId>springcloud_alibaba_products</artifactId>
  10. <properties>
  11. <maven.compiler.source>8</maven.compiler.source>
  12. <maven.compiler.target>8</maven.compiler.target>
  13. </properties>
  14. <dependencies>
  15. <!-- spring-boot-starter-web -->
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-web</artifactId>
  19. </dependency>
  20. <!-- nacos注册与发现 -->
  21. <dependency>
  22. <groupId>com.alibaba.cloud</groupId>
  23. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  24. </dependency>
  25. </dependencies>
  26. </project>

3.application.properties

  1. server.port=8882
  2. spring.application.name=PRODUCTS
  3. # 注册到nacos
  4. spring.cloud.nacos.server-addr=192.168.8.190:8848

4.ProductApplicatioon.java

  1. package com.christy;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  5. /** * @Author Christy * @Date 2021/8/27 9:56 **/
  6. @SpringBootApplication
  7. @EnableDiscoveryClient
  8. public class ProductApplication {
  9. public static void main(String[] args){
  10. SpringApplication.run(ProductApplication.class, args);
  11. }
  12. }

5.启动

我们启动该模块,然后在nacos的服务管理列表中能够看到该服务,则说明我们的springcloud_alibaba_products初始搭建是没有问题的。
在这里插入图片描述

服务间调用

上面我们的USERSPRODUCTS两个服务都已经启动成功了并且成功注册到了nacos,下面我们就要实现USERS调用PRODUCTS中的方法来实现微服务间的调用。

PRODUCTS

首先针对PRODUCTS,我们针对其ProductController实现如下方法:

  1. import org.slf4j.Logger;
  2. import org.slf4j.LoggerFactory;
  3. import org.springframework.beans.factory.annotation.Value;
  4. import org.springframework.web.bind.annotation.GetMapping;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RestController;
  7. /** * @Author Christy * @Date 2021/8/27 10:03 **/
  8. @RestController
  9. @RequestMapping("product")
  10. public class ProductController {
  11. private static final Logger log = LoggerFactory.getLogger(ProductController.class);
  12. @Value("${server.port}")
  13. private int port;
  14. @GetMapping("port")
  15. public String product(){
  16. log.info("hello product!");
  17. return "hello product! this port is: "+port;
  18. }
  19. }

USERS

下面我们就要实现如何在USERS中调用PRODUCTS中的/product/port。在学习springcloud的时候我们知道通过ribbon+restTemplate的方式可以实现微服务间的通信。我们首先看下该种方法下的通信实现

ribbon+restTemplate
1.BeansConfig

我们在USERS中的config包下新建BeansConfig,在里面将RestTemplate交给Spring管理。通过ribbon的注解@LoadBalance实现负载均衡。代码如下:

  1. import org.springframework.cloud.client.loadbalancer.LoadBalanced;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.Configuration;
  4. import org.springframework.web.client.RestTemplate;
  5. /** * @Author Christy * @Date 2021/8/27 10:09 **/
  6. @Configuration
  7. public class BeansConfig {
  8. @Bean
  9. @LoadBalanced
  10. public RestTemplate restTemplate(){
  11. return new RestTemplate();
  12. }
  13. }
2.UserController

UserController中我们在invoke方法中通过RestTemplate调用PRODUCTS中的方法。代码如下:

  1. import org.slf4j.Logger;
  2. import org.slf4j.LoggerFactory;
  3. import org.springframework.beans.factory.annotation.Autowired;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RestController;
  6. import org.springframework.web.client.RestTemplate;
  7. /** * @Author Christy * @Date 2021/8/27 10:14 **/
  8. @RestController
  9. @RequestMapping("user")
  10. public class UserController {
  11. private static final Logger log = LoggerFactory.getLogger(UserController.class);
  12. @Autowired
  13. private RestTemplate restTemplate;
  14. @RequestMapping("invoke")
  15. public String invokeProduct() {
  16. log.info("Hello users!");
  17. String result = restTemplate.getForObject("http://PRODUCTS/product/port", String.class);
  18. log.info("result is {}", result);
  19. return result;
  20. }
  21. }
3.测试

重新启动USERSPRODUCTS,在浏览器中访问http://localhost:8881/user/invoke。结果如下图所示:
在这里插入图片描述

我们说这种方式不好:他将路径写死在了代码中,不利于维护。所以后来我们讲到了OpenFeign

OpenFeign

我们来修改下USERS利用OpenFeign实现微服务间的通信。想要使用OpenFeign必须先引入相关依赖

1.pom.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <parent>
  4. <artifactId>springcloud_alibaba_parent</artifactId>
  5. <groupId>com.christy</groupId>
  6. <version>1.0-SNAPSHOT</version>
  7. </parent>
  8. <modelVersion>4.0.0</modelVersion>
  9. <artifactId>springcloud_alibaba_users</artifactId>
  10. <properties>
  11. <maven.compiler.source>8</maven.compiler.source>
  12. <maven.compiler.target>8</maven.compiler.target>
  13. </properties>
  14. <dependencies>
  15. <!-- spring-boot-starter-web -->
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-web</artifactId>
  19. </dependency>
  20. <!-- nacos注册与发现 -->
  21. <dependency>
  22. <groupId>com.alibaba.cloud</groupId>
  23. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  24. </dependency>
  25. <!-- OpenFeign -->
  26. <dependency>
  27. <groupId>org.springframework.cloud</groupId>
  28. <artifactId>spring-cloud-starter-openfeign</artifactId>
  29. </dependency>
  30. </dependencies>
  31. </project>
2.UserApplication.java
  1. import org.springframework.boot.SpringApplication;
  2. import org.springframework.boot.autoconfigure.SpringBootApplication;
  3. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  4. import org.springframework.cloud.openfeign.EnableFeignClients;
  5. /** * @Author Christy * @Date 2021/8/27 9:49 **/
  6. @SpringBootApplication
  7. @EnableDiscoveryClient
  8. @EnableFeignClients //开启OpenFeign调用
  9. public class UserApplication {
  10. public static void main(String[] args){
  11. SpringApplication.run(UserApplication.class, args);
  12. }
  13. }
3.ProductClient.java

我们在USERS中的feignclients包中新建ProductClient.java。内容如下:

  1. import org.springframework.cloud.openfeign.FeignClient;
  2. import org.springframework.web.bind.annotation.RequestMapping;
  3. /** * @Author Christy * @Date 2021/8/27 10:37 **/
  4. @FeignClient("PRODUCTS")
  5. public interface ProductClient {
  6. @RequestMapping("/product/port")
  7. String product();
  8. }
4.UserControlller.java
  1. import com.christy.feignclients.ProductClient;
  2. import org.slf4j.Logger;
  3. import org.slf4j.LoggerFactory;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.web.bind.annotation.RequestMapping;
  6. import org.springframework.web.bind.annotation.RestController;
  7. import org.springframework.web.client.RestTemplate;
  8. /** * @Author Christy * @Date 2021/8/27 10:14 **/
  9. @RestController
  10. @RequestMapping("user")
  11. public class UserController {
  12. private static final Logger log = LoggerFactory.getLogger(UserController.class);
  13. /*@Autowired private RestTemplate restTemplate;*/
  14. @Autowired
  15. ProductClient productClient;
  16. @RequestMapping("invoke")
  17. public String invokeProduct() {
  18. log.info("Hello users!");
  19. /*String result = restTemplate.getForObject("http://PRODUCTS/product/port", String.class);*/
  20. String result = productClient.product();
  21. log.info("result is {}", result);
  22. return result;
  23. }
  24. }
5.测试

重新启动USERS,在浏览器中访问http://localhost:8881/user/invoke。结果如下图所示:
在这里插入图片描述

集成Sentinel

这里我们以USERS服务为例集成Sentinel。

1.pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <parent>
  4. <artifactId>springcloud_alibaba_parent</artifactId>
  5. <groupId>com.christy</groupId>
  6. <version>1.0-SNAPSHOT</version>
  7. </parent>
  8. <modelVersion>4.0.0</modelVersion>
  9. <artifactId>springcloud_alibaba_users</artifactId>
  10. <properties>
  11. <maven.compiler.source>8</maven.compiler.source>
  12. <maven.compiler.target>8</maven.compiler.target>
  13. </properties>
  14. <dependencies>
  15. <!-- spring-boot-starter-web -->
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-web</artifactId>
  19. </dependency>
  20. <!-- nacos注册与发现 -->
  21. <dependency>
  22. <groupId>com.alibaba.cloud</groupId>
  23. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  24. </dependency>
  25. <!-- OpenFeign -->
  26. <dependency>
  27. <groupId>org.springframework.cloud</groupId>
  28. <artifactId>spring-cloud-starter-openfeign</artifactId>
  29. </dependency>
  30. <!--sentinel-->
  31. <dependency>
  32. <groupId>com.alibaba.cloud</groupId>
  33. <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
  34. </dependency>
  35. </dependencies>
  36. </project>

2.application.properties

  1. server.port=8881
  2. spring.application.name=USERS
  3. # 注册到nacos
  4. spring.cloud.nacos.server-addr=192.168.8.190:8848
  5. # 与sentinel DashBoard建立通信
  6. spring.cloud.sentinel.enabled=true
  7. spring.cloud.sentinel.eager=true
  8. spring.cloud.sentinel.transport.port=8719
  9. spring.cloud.sentinel.transport.dashboard=192.168.8.186:8999
  10. # 设置发送心跳到DashBoard的主机地址
  11. spring.cloud.sentinel.transport.clientIp=192.168.8.139

3.启动

我们重新启动USERS服务,然后在Sentinel DashBoard中找到该服务。如下图所示:
在这里插入图片描述

4.测试

我们在流控规则中对服务/user/invoke新增一条流控规则,如下图所示:
在这里插入图片描述
然后我们在浏览器中访问http://localhost:8881/user/invoke,当超过我们设置的单机阈值服务就会被熔断。如下图所示:
在这里插入图片描述

初始化Gateway

springcloud_alibaba_gateway作为我们的网关组件,作为请求的统一入口,在微服务框架中是必不可少的。

1.新建Module

在这里插入图片描述

2.pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <parent>
  4. <artifactId>springcloud_alibaba_parent</artifactId>
  5. <groupId>com.christy</groupId>
  6. <version>1.0-SNAPSHOT</version>
  7. </parent>
  8. <modelVersion>4.0.0</modelVersion>
  9. <artifactId>springcloud_alibaba_gateway</artifactId>
  10. <properties>
  11. <maven.compiler.source>8</maven.compiler.source>
  12. <maven.compiler.target>8</maven.compiler.target>
  13. </properties>
  14. <dependencies>
  15. <!-- gateway -->
  16. <dependency>
  17. <groupId>org.springframework.cloud</groupId>
  18. <artifactId>spring-cloud-starter-gateway</artifactId>
  19. </dependency>
  20. <!-- nacos -->
  21. <dependency>
  22. <groupId>com.alibaba.cloud</groupId>
  23. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  24. </dependency>
  25. </dependencies>
  26. </project>

3.GatewayApplication.java

  1. import org.springframework.boot.SpringApplication;
  2. import org.springframework.boot.autoconfigure.SpringBootApplication;
  3. import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
  4. /** * @Author Christy * @Date 2021/8/27 11:08 **/
  5. @SpringBootApplication
  6. @EnableDiscoveryClient
  7. public class GatewayApplication {
  8. public static void main(String[] args){
  9. SpringApplication.run(GatewayApplication.class, args);
  10. }
  11. }

4.application.yml

  1. server:
  2. port: 8883
  3. spring:
  4. application:
  5. name: GATEWAY
  6. cloud:
  7. nacos:
  8. server-addr: 192.168.8.190:8848
  9. gateway:
  10. routes:
  11. - id: users_route
  12. uri: lb://USERS
  13. predicates:
  14. - Path=/user/invoke
  15. - id: product_route
  16. uri: lb://PRODUCTS
  17. predicates:
  18. - Path=/product/port

5.启动

启动GATEWAY服务,如果能在nacos中看到看到就说明我们搭建成功了。如下图所示:
在这里插入图片描述

6.测试

我们在浏览器中访问http://localhost:8883/user/invokehttp://localhost:8883/product/port,都能得到如下图所示的结果:
在这里插入图片描述

远端拉取配置文件

我们之前说过如何使用nacos从远端拉取配置文件。实际上微服务中的所有服务的配置文件都可以放到远端。这里我们使用USERS举例回忆一下整个过程

1.新建命名空间

我们在nacos的管理界面选择命名空间->新建命名空间,按照下图所示新增一个命名空间
在这里插入图片描述
然后回到配置管理->配置列表,在配置列表中切换到我们上面新增的命名空间microservices
在这里插入图片描述

2.pom.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <parent>
  4. <artifactId>springcloud_alibaba_parent</artifactId>
  5. <groupId>com.christy</groupId>
  6. <version>1.0-SNAPSHOT</version>
  7. </parent>
  8. <modelVersion>4.0.0</modelVersion>
  9. <artifactId>springcloud_alibaba_users</artifactId>
  10. <properties>
  11. <maven.compiler.source>8</maven.compiler.source>
  12. <maven.compiler.target>8</maven.compiler.target>
  13. </properties>
  14. <dependencies>
  15. <!-- spring-boot-starter-web -->
  16. <dependency>
  17. <groupId>org.springframework.boot</groupId>
  18. <artifactId>spring-boot-starter-web</artifactId>
  19. </dependency>
  20. <!-- nacos注册与发现 -->
  21. <dependency>
  22. <groupId>com.alibaba.cloud</groupId>
  23. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  24. </dependency>
  25. <!-- OpenFeign -->
  26. <dependency>
  27. <groupId>org.springframework.cloud</groupId>
  28. <artifactId>spring-cloud-starter-openfeign</artifactId>
  29. </dependency>
  30. <!-- sentinel -->
  31. <dependency>
  32. <groupId>com.alibaba.cloud</groupId>
  33. <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
  34. </dependency>
  35. <!-- nacos config client -->
  36. <dependency>
  37. <groupId>com.alibaba.cloud</groupId>
  38. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  39. </dependency>
  40. </dependencies>
  41. </project>

3.user-prod.properties

在配置列表中点击右上角的+,新增配置user-prod.properties,点击发布。内容如下:
在这里插入图片描述

4.bootstrap.properties

  1. # 告诉config server地址
  2. spring.cloud.nacos.config.server-addr=192.168.8.190:8848
  3. # 告诉从哪个命名空间获取配置
  4. spring.cloud.nacos.config.namespace=6feacc5a-0f14-47de-8157-72d139dd58ba
  5. # 告诉从哪个组进行配置获取
  6. spring.cloud.nacos.config.group=USER
  7. # 第一种获取配置文件方式 dataId = name + file-extension
  8. # 从这个组中拉取那个配置文件
  9. spring.cloud.nacos.config.name=user-prod
  10. # 拉取这个配置那个后缀的配置文件
  11. spring.cloud.nacos.config.file-extension=properties
  12. # 第二种获取配置文件方式 dataId = prefix + env + file-extension
  13. # spring.cloud.nacos.config.prefix=user
  14. # spring.profiles.active=prod
  15. # spring.cloud.nacos.config.file-extension=properties

5.启动

重启USERS服务,仔细观察控制台,可以发现服务已经从远端成功拉取到了配置文件。如下图所示:
在这里插入图片描述
此时我们在浏览器中访问http://localhost:8883/user/invoke,服务也是正常的。控制台也正常输出了。如下图所示:
在这里插入图片描述

微服务的其他模块也可按照上面步骤将配置文件配置在远端,这里就不一一演示了。

使用SpringCloud与Alibaba整合搭建微服务初始框架就到这里了。继续加油ヾ(◍°∇°◍)ノ゙

发表评论

表情:
评论列表 (有 0 条评论,308人围观)

还没有评论,来说两句吧...

相关阅读