SpringCloud复习

之前学习的SpringCloud因为单位大部分项目用不到微服务,所以有些生疏了,趁着空闲再整理一下

Nacos注册中心(替代Eureka)

1
2
3
4
5
6
7
8
9
10
11
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

创建应用注册到Nacos

1
2
3
4
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
server:
port: 8206
spring:
application:
name: nacos-user-service
cloud:
nacos:
discovery:
server-addr: localhost:8848 #配置Nacos地址
management:
endpoints:
web:
exposure:
include: '*'

使用Nacos作为配置中心

1
2
3
4
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
server:
port: 8206
spring:
application:
name: nacos-user-service
cloud:
nacos:
discovery:
server-addr: localhost:8848 #Nacos地址
config: # config配置
server-addr: localhost:8848 #Nacos地址
file-extension: yaml #这里我们获取的yaml格式的配置

DataID名称格式为

1
2
${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# 比如上面的nacos-user-service服务,DataID即为nacos-user-service-dev.yaml

Spring Cloud Gateway网关(替代Zuul)

1
2
3
4
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 路由匹配机制
spring:
cloud:
gateway:
routes:
# 所有/auth开头的请求将会路由至auth这个服务器
- id: auth #路由的ID
uri: lb://auth #匹配后路由地址 lb即开始负载均衡后面跟注册中心中服务名字
predicates:
- Path=/auth/**
filters:
# 访问/auth/a/login实际上等于访问/login,去除前面两位
- StripPrefix=2
# 访问/login实际上等于访问/user/login
# - PrefixPath=/user

比较常用的就是上图的配置,其余配置参考资料

Spring Cloud Gateway + Oauth2实现统一认证和鉴权

一般我们将鉴权统一交给网关处理,认证则另起一个微服务

赏个🍗吧
0%