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

相关推荐
XianxinMao7 分钟前
2024大模型双向突破:MoE架构创新与小模型崛起
人工智能·架构
Icoolkj41 分钟前
微服务学习-SkyWalking 实时追踪服务链路
学习·微服务·skywalking
李匠20241 小时前
云计算架构学习之LNMP架构部署、架构拆分、负载均衡-会话保持
学习·架构·云计算
周杰伦_Jay2 小时前
详细介绍:Kubernetes(K8s)的技术架构(核心概念、调度和资源管理、安全性、持续集成与持续部署、网络和服务发现)
网络·ci/cd·架构·kubernetes·服务发现·ai编程
幼儿园老大*4 小时前
【系统架构】如何设计一个秒杀系统?
java·经验分享·后端·微服务·系统架构
周杰伦_Jay5 小时前
详细介绍:云原生技术细节(关键组成部分、优势和挑战、常用云原生工具)
java·云原生·容器·架构·kubernetes·jenkins·devops
元气满满的热码式5 小时前
K8S中Pod控制器之DaemonSet(DS)控制器
云原生·容器·kubernetes
夏子曦5 小时前
k8s 蓝绿发布、滚动发布、灰度发布
云原生·容器·kubernetes
ShareBeHappy_Qin6 小时前
ZooKeeper 中的 ZAB 一致性协议与 Zookeeper 设计目的、使用场景、相关概念(数据模型、myid、事务 ID、版本、监听器、ACL、角色)
分布式·zookeeper·云原生
fanstuck7 小时前
从构思到上线的全栈开发指南:全栈开发中的技术选型和架构
架构