微服务(3)

目录

11.DiscoveryClient的作用?

12.Eureka和Zookeeper都可以提供服务注册与发现功能,请说说两个的区别?

13.什么是网关?

14.网关的作用是什么?

[15.什么是SpringCloud Zuul(服务网关)?](#15.什么是SpringCloud Zuul(服务网关)?)


11.DiscoveryClient的作用?

可以从注册中心中根据服务别名获取注册的服务器信息。

12.Eureka和Zookeeper都可以提供服务注册与发现功能,请说说两个的区别?

Zookeeper保证了CP(C:一致性,P:分区容错性),

Eureka保证了AP(A:高可用性)

(1)当向注册中心查询服务列表时,我们可以容忍注册中心返回的是几分钟以前的信息,但不能容忍直接down掉不可用。也就是说,服务注册功能对高可用性要求比较高,但zk会出现这样一种情况,当master节点因为网络故障与其他节点失去联系时,剩余节点会重新选leader。问题在于,选leader时间过长,30到120秒,且选取期间zk集群都不可用,这样就会导致选取期间注册服务瘫痪。在云部署的环境下,因网络问题使得zk集群失去master节点是较大概率会发生的事情,虽然服务能够恢复,但是漫长的选取时间导致的注册长期不可用是不能容忍的。

(2)Eureka保证可用性,Eureka各个节点是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点仍然可以提供注册和查询服务。而Eureka的客户端向某个Eureka注册发现或发现时连接失败,则会自动切换到其他节点,只要有一台Eureka还在,就能保证注册服务可用,只是查到的信息可能不是最新的。除此之外,Eureka还有自我保护机制,如果在15分钟内超过85%的节点没有正常的心跳,那么Eureka就认为客户端与注册中心发生了网络故障,此时会出现几种情况:

①Eureka从不在注册列表中移除因为长时间没有收到心跳而应该过期的服务。

②Eureka仍然能够接受新服务的注册和查询请求,但是不会被同步到其他节点上(即保证当前节点仍然可用)

③当网络稳定时,当前实例新的注册信息会被同步到其他节点。因此,Euraka可以很好的应对因网络故障导致部分节点失去联系的情况,而不会像Zookeeper那样使整个微服务瘫痪。

13.什么是网关?

网关相当于一个网络服务架构的入口,所有网络请求必须通过网关转发到具体的服务。

14.网关的作用是什么?

统一管理微服务请求,权限控制,负载均衡,路由转发,监控,安全控制黑名单和白名单等。

15.什么是SpringCloud Zuul(服务网关)?

Zuul是对SpringCloud提供的成熟对的路由方案,他会根据请求的路径不同,网关会定位到指定的微服务,并代理请求到不同的微服务接口,他对外隐藏了微服务的真正接口地址。

三个重要概念:动态路由表,路由定位,反向代理:

动态路由表:Zuul支持Eureka路由,手动配置路由,这两种都支持自动更新。

路由定位:根据请求路径,Zuul有自己的一套定位服务规则以及路由表达式匹配。

反向代理:客户端请求到路由网关,网关受理之后,在对目标发送请求,拿到响应之后再给客户端。

他可以Eureka,Ribbon,Hystrix等组件配合使用。

相关推荐
Mr.王8355 小时前
Kubernetes宿主机本地盘池化管理
ceph·云原生·容器·kubernetes
gyx_这个杀手不太冷静7 小时前
大人工智能时代下前端界面全新开发模式的思考(二)
前端·架构·ai编程
不是书本的小明8 小时前
阿里云专有云网络架构
网络·阿里云·架构
Smoothcloud润云9 小时前
从“预测下一个词”到“预测下一个世界状态”:世界模型作为AGI新范式的深度分析报告
人工智能·测试工具·微服务·容器·github·状态模式·agi
Reart11 小时前
从0解构tinyWeb项目--(Day:2)
javascript·后端·架构
提子拌饭13311 小时前
生命组学架构下的细胞分化与基因突变生存模拟器:基于鸿蒙Flutter的情景树渲染与状态溢出防御
flutter·华为·架构·开源·harmonyos
code_pgf12 小时前
Mamba-2 / Jamba / DeepSeek-V2 高效架构
架构·transformer
张32312 小时前
K8s存储卷入门
云原生·kubernetes
CoovallyAIHub12 小时前
ICLR 2026 | VLM自己学会调检测器:VTool-R1用强化学习教视觉模型使用工具推理
算法·架构·github
CoovallyAIHub12 小时前
RK3588上111 FPS:轻量YOLOv8+异步视频处理系统实现无人机自主电力巡检
算法·架构·github