对应配置在另一个知识库中

eureka:

注册中心:管理多个微服务接口的,需要远程调用的时候来找eureka。
作用:
1、别的服务或请求需要远程调用的时候,找eureka要对应ip和端口。
2、单对应的微服务有多个实例的时候,负载均衡调用某一个。——Ribbin
3、检查管理的微服务实例是否健康。——心跳检测

nacos:

也是注册中心,作用和eureka相同。
可以配置集群(名称),相关微服务配置集群名后可以设置优先使用本地集群。
可以权重配置,甚至可以将权重设置为0,相当于暂停某个服务模块,再进行维护。
可以环境隔离,通过namespace实现。将不同的微服务模块隔离。
可以设置非临时实例和临时实例,
临时实例:当临时实例宕机超过一定时间的时候,从服务列表剔除,而非临时实例不会。
非临时实例也叫永久实例。

nacos和eureka相同和不同:

相同:
1、都有心跳检测为健康检测
2、都提供服务注册和服务拉取
不同:
1、nacos提供主动检测服务的健康状态;对临时实例采用心跳检测,对非临时实例采用主动检测。
2、nacos的可以设置非临时实例和临时实例,临时实例:当临时实例宕机超过一定时间的时候,从服务列表剔除,而非临时实例不会。非临时实例也叫永久实例。
3、nacos支持服务列表推动消息模式,服务列表更新更及时
4、nacos构建集群默认使用AP模式,当集群中存在非临时实例时采用CP模式,而eureka采用AP模式。

Feign远程调用:

替代RestTemplate去实现远程调用,
使用Feign的步骤:
① 引入依赖
② 添加@EnableFeignClients注解
③ 编写FeignClient接口
④ 使用FeignClient中定义的方法代替RestTemplate
优化,将Feign的Client抽取为独立模块,并且把接口有关的POJO、默认的Feign配置都放到这个模块中,提供给所有消费者使用。

Gateway网关:

核心作用:
权限控制:网关作为微服务入口,需要校验用户是是否有请求资格,如果没有则进行拦截。
路由和负载均衡:一切请求都必须先经过gateway,但网关不处理业务,而是根据某种规则,把请求转发到某个微服务,这个过程叫做路由。当然路由的目标服务有多个时,还需要做负载均衡。
限流:当请求流量过高时,在网关中按照下流的微服务能够接受的速度来放行请求,避免服务压力过大。
配置文件可以设置一些过滤器,可以实现下列功能:

  • 登录状态判断
  • 权限校验
  • 请求限流等

可以设置断言工厂,去匹配相关规则,判断是否能进入。

Docker:

docker是一个快速交付应用、运行应用的技术:
1、可以将程序极其依赖、运行环境打包成一个镜像
2、采用沙箱机制容器隔离,每个容器互不干扰
3、启动和移除采用相关命令,十分便捷
SpringCloud相关技术 - 图1
Docker和虚拟机的差异:
1、docker是一个系统进程,而虚拟机是操作系统中的操作系统
docker是对软件的虚拟,而虚拟机是对硬件虚拟
2、docker更接近原生、性能好,启动快(秒级),虚拟机性能较差,启动慢(分钟级)
3、docker体积小(MB)虚拟机,体积大(GB)
4、一台电脑可以启动成百上千个docker容器,而虚拟机只能启动几个
image.png

数据卷:是一个虚拟目录,指向宿主机文件系统的某个目录。

一般是为了方便修改容器的某些文件,配置相关数据卷到宿主机文件。这样就可以直接修改宿主机文件,达到修改容器的目的。
image.png

镜像和容器:

镜像就是docker将应用程序极其需要的依赖、函数库、环境、配置等打包形成一个文件,这个文件就叫做镜像。
容器:把一个镜像启动就形成一个容器,容器才能对外提供对应的镜像服务。且每个容器的相互隔离的,基于沙箱机制隔离的,互不干扰。
相关命令:
image.png
image.png
image.png
image.png