我的常用

要用到的时候却忘记的

代码块

网关

  1. <!--nacos依赖,阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。-->
  2. <!--nacos作为注册中心-->
  3. <dependency>
  4. <groupId>com.alibaba.cloud</groupId>
  5. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  6. <exclusions>
  7. <exclusion>
  8. <groupId>org.springframwork.cloud</groupId>
  9. <artifactId>spring-cloud-starter-netflx-ribbon</artifactId>
  10. </exclusion>
  11. </exclusions>
  12. </dependency>
  13. <dependency>
  14. <groupId>org.springframework.cloud</groupId>
  15. <artifactId>spring-cloud-starter-loadbalancer</artifactId>
  16. <version>2.2.1.RELEASE</version>
  17. </dependency>
  18. <!--网关-->
  19. <dependency>
  20. <groupId>org.springframework.cloud</groupId>
  21. <artifactId>spring-cloud-starter-gateway</artifactId>
  22. </dependency>
  1. #注册中心
  2. spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
  3. spring.application.name=shop-gateway
  4. #网关端口
  5. server.port=88
  1. #配置网关
  2. #4个配置
  3. spring:
  4. cloud:
  5. gateway:
  6. routes:
  7. - id: admin_route
  8. uri: lb://renren-fast
  9. predicates:
  10. - Path=/api/** #if路径以/api开头就可以 负载均衡到renren-fast
  11. filters:
  12. - RewritePath=/api/?(?<segment>.*),/renren-fast/$\{segment}
  13. #断言就是if
  14. #filters:就是修改请求

面试知识

注册中心

Nacos相关?

  1. Nacos通过配置支持热更新
  2. 同时支持AP和CP。

CAP理论?

  • 微服务可能会发生故障,为了保障该服务的数据可用,可以通过副本的方式保障分区容错P,副本越多,分区容错越高。但是,一致性C压力就会增加,为了提高一致性,系统需要时间同步数据,就会增加响应时间,可用性A就会降低。

介绍一下负载均衡?

  • 可以配置具有相同微服务名字但是不同的微服务地址选择哪一个微服务。
  • 负载均衡的原理:请求先交给Ribbon,Ribbon从注册中心返回的服务列表中选取。

    网关

  1. 目的
    1. 身份认证
    2. 路由、负载均衡
    3. 限流
  2. 选择
    1. Gateway:基于WebFlux,属于响应式编程。
    2. zuul
  3. 请求到网关,网关拉取服务列表,在服务名称相同的列表中,负载均衡选定一个服务,路由请求。
  4. 路由后还要经过过滤器链,对请求和微服务的响应做处理。

    MQ

  5. 排队的原因就是处理速度不够导致的问题。

  6. 目的:解决同步通信的缺点:耦合高、连级调用失败问题。

    系统知识

不要抄,记录官方文档或者视频的结构即可,和内容分布,方便下次查看

官方文档

网关

gateway

  • Route predicate Factories
  • GatewayFilter Factories

教学视频

SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

  1. [35-41]:Gateway网关