微服务(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等组件配合使用。

相关推荐
江米小枣tonylua7 小时前
译:设计生产级 RAG 架构
架构
怕浪猫12 小时前
领域特定语言(Domain-Specific Language, DSL)
设计模式·程序员·架构
怕浪猫13 小时前
哪些软件对 Chrome DevTools Protocol 频繁使用
人工智能·架构·前端框架
Jack2020 小时前
HarmonyOS APP事件驱动大揭秘
架构
米丘20 小时前
微前端之 Web Components 完全指南
微服务·html
秋播20 小时前
国内本地WSL2编译rancher源码
云原生
Colin草率地做慢慢地改20 小时前
关于QuickStore这个项目的重构(2)- 数据库建表文件
后端·面试·架构
candyTong1 天前
RTK 技术原理:一次典型会话里,80% 上下文是怎么省下来的
javascript·后端·架构
唐某人丶2 天前
从画架构图开始:架构分析与进阶指南
架构