目录
一、依赖添加
1、官网:Spring Cloud Alibaba
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2021.0.4.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
二、组件
1、Nacos-注册中心
1.依赖--官网Releases · alibaba/nacos (github.com)
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.官网下载nacos压缩包,启动nacos,这里修改startup.cmd配置文件,将启动默认方式修改为standalone,或者直接在配置文件中使用startup.cmd -m standalone命令行方式启动
3.在每个微服务当中添加注册中心的地址和微服务名字
4.利用注解@EnableDiscoveryClient开启服务注册中心
5.nacos注册中心控制台,使用开启nacos时显示的地址,账号密码默认nacos,在此处可视化注册中心
2、Feign-声明式远程调用
1.依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
2.编写openfeign接口
3.
4.启动访问成功
5.踩坑:在进行feign远程调用时候发现无法启动springboot,报错
For 'gulimall-coupon' URL not provided. Will try picking an instance via loa,解决办法参照如下:
3、Nacos配置中心
1.依赖
<!--nacos服务配置中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.创建bootstrap.properties文件
spring.application.name=gulimall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
3.在nacos控制台给配置中心默认添加一个数据集(Data Id)gulimall-coupon.properties,命名默认规则:应用名+application * 可以添加在其中任何配置
4.动态获取配置信息,在controller类上添加注解@ReflashScope,有限使用配置中心的配置
5.踩坑:
原因:Spring Cloud 新版本默认将 Bootstrap 禁用,需要将 spring-cloud-starter-bootstrap 依赖引入到工程中
解决方案:
在配置文件中添加配置
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.4</version>
</dependency>