我的常用
代码块
网关
<!--nacos依赖,阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。-->
<!--nacos作为注册中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframwork.cloud</groupId>
<artifactId>spring-cloud-starter-netflx-ribbon</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<!--网关-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
#注册中心
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
spring.application.name=shop-gateway
#网关端口
server.port=88
#配置网关
#4个配置
spring:
cloud:
gateway:
routes:
- id: admin_route
uri: lb://renren-fast
predicates:
- Path=/api/** #if路径以/api开头就可以 负载均衡到renren-fast
filters:
- RewritePath=/api/?(?<segment>.*),/renren-fast/$\{segment}
#断言就是if
#filters:就是修改请求
面试知识
注册中心
Nacos相关?
- Nacos通过配置支持热更新
- 同时支持AP和CP。
CAP理论?
- 微服务可能会发生故障,为了保障该服务的数据可用,可以通过副本的方式保障分区容错P,副本越多,分区容错越高。但是,一致性C压力就会增加,为了提高一致性,系统需要时间同步数据,就会增加响应时间,可用性A就会降低。
介绍一下负载均衡?
- 目的
- 身份认证
- 路由、负载均衡
- 限流
- 选择
- Gateway:基于WebFlux,属于响应式编程。
- zuul
- 请求到网关,网关拉取服务列表,在服务名称相同的列表中,负载均衡选定一个服务,路由请求。
-
MQ
排队的原因就是处理速度不够导致的问题。
- 目的:解决同步通信的缺点:耦合高、连级调用失败问题。
系统知识
不要抄,记录官方文档或者视频的结构即可,和内容分布,方便下次查看
官方文档
网关
- Route predicate Factories
- GatewayFilter Factories
教学视频
SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
- [35-41]:Gateway网关