以下所有依赖版本默认在父模块管理 忽略不写
服务的注册和发现——nacos(服务管理)
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
相应配置
spring.application.name='服务名'
spring.cloud.nacos.discovery.server-addr='nacos域名'
配置中心——nacos(注册管理)
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
在nacos上注册管理需要bootstarter配置文件所以需要引入下面bootstarter依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
服务间调用——feign
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
服务间调用——负载均衡——loadbalancer
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
服务调用 真正起到作用的是loadbalancer 所以openfeign和loadbalancer两个依赖一起引入
调用者的启动类加 @EnableDiscoveryClient
相应配置
server.port='端口号'
网关——gateway
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
网关需要和负载均衡依赖一起引入
网关依赖和spring-boot-starter-web依赖有冲突 需要删除spring-boot-starter-web依赖在配置里额外配置
相应配置
spring.cloud.gateway.discovery.locator.enabled=true
# 解决跨域问题
#允许任何域发起跨域请求
spring.cloud.gateway.globalcors.cors-configurations'[/**]'.allowed-origin-patterns=*
# 设置允许Cookie
spring.cloud.gateway.globalcors.cors-configurations'[/**]'.allow-credentials=true
#设置允许跨域请求的方法
spring.cloud.gateway.globalcors.cors-configurations'[/**]'.allowed-methods=*
#允许跨域请求包含content-type
spring.cloud.gateway.globalcors.cors-configurations'[/**]'.allowed-headers=*
#解决web冲突添加的配置
spring.main.web-application-type=reactive