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

相关推荐
七夜zippoe40 分钟前
事件驱动架构:构建高并发松耦合系统的Python实战
开发语言·python·架构·eda·事件驱动
狼爷2 小时前
高并发与分布式系统中的幂等处理
架构
小北方城市网2 小时前
第1课:架构设计核心认知|从0建立架构思维(架构系列入门课)
大数据·网络·数据结构·python·架构·数据库架构
职业码农NO.13 小时前
AI 技术栈完整解析,从 GPU 到应用的五层架构
人工智能·架构·系统架构·aigc·agent
云小逸3 小时前
【windows系统编程】第一章 Windows 系统核心架构与基础概念
windows·架构
Fortune_yangyang3 小时前
Kubernetes 操作管理
云原生·容器·kubernetes
川西胖墩墩3 小时前
团队协作泳道图制作工具 PC中文免费
大数据·论文阅读·人工智能·架构·流程图
码间拾光・菲林斯3 小时前
PostgreSQL 微服务架构开发实战:数据一致性、多租户设计与框架集成
微服务·postgresql·架构
Python_Study20253 小时前
企业级数据采集系统选型指南:从技术挑战到架构实践
架构
it_czz3 小时前
告警分析系统可视化方案全面对比
架构