视频地址:微服务(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主动询问服务提供者的状态,并且在某个服务提供者实例挂掉后也不会把它从服务列表中踢出,而是通过主动推送消息的方式告诉服务消费者更新缓存列表,不去调用挂掉的服务实例。

临时实例和非临时实例的显示

配置

总结:推荐使用临时实例,非临时实例的主动检测会加大服务器的压力