视频地址:微服务(SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式)
Eureka
微服务技术栈导学(P1、P2)
微服务涉及的的知识
认识微服务-服务架构演变(P3、P4)
总结:
认识微服务-微服务技术对比(P5)
邮储的物联网项目实用的是apollo作为配置中心,nocos作为注册中心,feign进行服务间调用
认识微服务-springClould(P6)
SpringClould与SpringBoot的版本兼容
服务拆分-案例demo(P7)
clould-demo:demo 提取码:cocf
服务拆分-服务远程调用(P8)
实现RestTemple也可以通过http进行服务间调用(非注册中心实现)
http远程调用是与语言无关的调用,只要知道对方的ip、端口、接口路径、请求参数即可
Eureka注册中心-提供者与消费者(P9)
服务关系是相对的
总结:
Eureka-eureka原理分析(P10)
demo中的代码的http调用是以硬编码(写死)形式存在代码中,这样在多个提供者时候,不能每个提供地址都写在代码中
服务提供者会将服务薪资注册到注册中心中,当消费者需要调用服务者时候会拉取提供者的服务信息,当获取到之后就会在负载均衡的参与下远程调用服务者服务。服务者服务是以30秒的心跳进行注册的,所以不存在某服务突然宕机,调用不通情况
总结:
Eureka-搭建eureka服务(P11)
搭建步骤
1.引入: eureka不用指定版本信息
是因为在父工程中已经定义好了,点击去之后可以看到定义的版本信息
2.编写启动类:添加自动装配的开关
3.添加配置文件
eureka自己也要注册到注册中心中,后面到集群式服务时候,要把地址的信息以集群形式做配置
可以通过配置的地址,查看eureka的注册的服务
Eureka-服务注册(P12)
1.在要注册的服务下的pom文件引入eureka的客户端依赖
2.在配置文件中增加配置
要记的添加该服务的服务名称
其他服务做注册也是相同操作。也要记得增加该服务的服务名称
可以模拟多实例部署
总结:
Eureka-服务发现(P13)
1.以服务名称代替硬编码的IP地址(见P8)
2.增加负载均衡注解
总结:
Nacos
Nacos-认识和安装(P17)
Nacos是阿里巴巴的产品
nacos不仅可以进行服务的注册和发现还可以分布式配置
nacos不想eureka 通过地址直接访问。本地启动项目,或者本地测试时候要先安装nacos,启动后才可以注册服务
nacos安装:nacos安装指南 提取码:qxzt
1.下载nacos
2.解压。nacos的端口号默认的是8848,如果想要修改,可以在nacos 》conf 》application.properties中修改(server.port)
3.启动。(单机模式,还有集群模式)
//windoes命令启动startup.cmd -m standalone
启动成功后会有地址提示,点击通过nacos: nacos进行登录
Nacos-快速入门(P18)
Eureka或Nacos作为注册中心时,注册服务是不需要变化的,变化的是基于两者配置的修改
总结:
Nacos-服务多级存储模型(P19)
nacos在服务和实例之间又引入了集群的概念,假如某个集群出现了问题,可以再访问别的集群
但是同一集群下要优先访问同集群的服务实例(上海的orderService访问上海的userService)
局域网内的访问距离端访问快,不同地区的集群,访问时间长。nacos引入集群概念也是避免不同的集群相互访问的情况。
总结:
Nacos-NacosRule负载均衡(P20)
根据上一节配置好。
需要在orderService也要配置好集群,但是配置好后,并不能直接可以用,还要配置负载均衡规则NacosRule
配置好后服务优先访问配置的集群 ,然后随机访问本集群下的服务实例。集群没有服务时候就会调用别的集群
总结:
Nacos-服务实例的权重设置(P21)
有时需要配置不同的权重,对不同的服务实例进行访问 。可以通过配置实现
应用场景:如果要对某一个服务进行版本升级,可以对此服务权重配置成0,当升级好后,再将权重调的较小,可以验证后再将权重调高,优雅的实现升级。
总结:
Nacos-环境隔离(P22)
namespace 》Group 》Service/Data 》集群 》实例
配置
namespace存在的意义可以是根据不同的环境进行隔离(开发环境,测试环境等)。不同namespace之间的服务是不可见的。
Nacos-Nacos和Eureka的对比(P23)
nacos会把拉取的服务以缓存的形式放到服务列表中,nacos也会通过主动推送的形式提醒消费者更改服务列表的缓存。nacos还可以配置成非临时实例,这种配置,会让nacos主动询问服务提供者的状态,并且在某个服务提供者实例挂掉后也不会把它从服务列表中踢出,而是通过主动推送消息的方式告诉服务消费者更新缓存列表,不去调用挂掉的服务实例。
临时实例和非临时实例的显示
配置
总结:推荐使用临时实例,非临时实例的主动检测会加大服务器的压力