Spring Clould 注册中心 - Eureka,Nacos

视频地址:微服务(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.启动。(单机模式,还有集群模式)

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

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

配置

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

相关推荐
Rain的Java大神之路4 天前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
需要8264 天前
MySQL 索引 B+ 树与“查询为什么变慢了
java·spring boot·spring·spring cloud·tomcat
需要8264 天前
Arthas 一个命令排查线上问题
java·jvm·spring·spring cloud
苏渡苇5 天前
Spring Insight 里如何把 Span 画成瀑布时间线
后端·spring·spring cloud·springboot·监控·apm
叶总没有会5 天前
Nacos—注册中心
spring cloud·微服务
苏渡苇6 天前
Spring Insight 里如何把 Span 收成一条链路
spring boot·spring·spring cloud·系统监控·apm
叶总没有会6 天前
微服务--分布式基础
java·spring·spring cloud·微服务
孙启超7 天前
【AI开发之Rust】第 7 课:错误处理 —— panic、Result 与 `?`
人工智能·分布式·后端·爬虫·spring cloud·架构·rust
行百里er8 天前
Spring Insight 里如何把 Span 收成一条链路
spring boot·spring cloud·监控
砍材农夫8 天前
spring|spring web|拦截器、过滤器、aop
java·spring boot·spring·spring cloud