031--Java分布式框架面试题合集

VIP免费
2024-12-11 2 0 121.46KB 11 页 5.9玖币
侵权投诉
Java 分布式框架面试题合集
1.什么是 ZooKeeper
答:ZooKeeper 是一个开源的分布式应用程序协调服务,是一个典型的分布式数据一致性
解决方案。设计目的是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高
效可靠的系统,并以一系列简单易用的原子操作提供给用户使用。
2.ZooKeeper 提供了哪些功能?
答:ZooKeeper 主要提供以下功能:
分布式服务注册与订阅:在分布式环境中,为了保证高可用性,通常同一个应用或同
一个服务的提供方都会部署多份,达到对等服务。而消费者就须要在这些对等的服务
器中选择一个来执行相关的业务逻辑,比较典型的服务注册与订阅,如 Dubbo
分布式配置中心:发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据
发布到 ZooKeeper 节点上,供订阅者获取数据,实现配置信息的集中式管理和动态
更新。
命名服务:在分布式系统中,通过命名服务客户端应用能够根据指定名字来获取资
源、服务地址和提供者等信息。
分布式锁:这个主要得益于 ZooKeeper 为我们保证了数据的强一致性。
3.ZooKeeper 有几种搭建模式?
答:ZooKeeper 通常有三种搭建模式:
单机模式:zoo.cfg 中只配置一个 server.id 就是单机模式了,此模式一般用在测试环
境,如果当前主机宕机,那么所有依赖于当前 ZooKeeper 服务工作的其他服务器都
不能进行正常工作;
伪分布式模式:在一台机器启动不同端口的 ZooKeeper ,配置到 zoo.cfg 中,和单机
模式相同,此模式一般用在测试环境;
分布式模式:多台机器各自配置 zoo.cfg 文件,将各自互相加入服务器列表,上面搭
建的集群就是这种完全分布式。
4.ZooKeeper 有哪些特性?
答: ZooKeeper 特性如下:
顺序一致性(Sequential Consistency):来自相同客户端提交的事务,ZooKeeper
严格按照其提交顺序依次执行;
原子性(Atomicity ):于 ZooKeeper 集群中提交事务,事务将 全部完成 或 全部未
”“”完成 ,不存在 部分完成 ;
单一系统镜像(Single System Image ):客户端连接到 ZooKeeper 集群的任意节点,
其获得的数据视图都是相同的;
可靠性(Reliability):事务一旦完成,其产生的状态变化将永久保留,直到其他事
务进行覆盖;
实时性(Timeliness):事务一旦完成,客户端将于定的时间段内,获得新的数
据。
5.以下关于 ZooKeeper 描述的是?
A :所有的节点都定的存BZooKeeper 任意节点之间都能够进行通信(消
息发& C:为了提高性能,ZooKeeper 允许同一份数据存在一部分节点成功,
一部分节点写失败 DZooKeeper 集群期间,只要数以上节点存ZooKeeper
就能正常服务 答:C 题目解ZooKeeper 允许同一份数据存在一部分节点成功,
一部分节点写失败情况,这不ZooKeeper“ ”一致性 的原
6.ZooKeeper 实现分布式锁?
答:ZooKeeper 实现分布式锁的步骤如下:
客户端连接 ZooKeeper ,并在 /lock 时的且有序的子节点,一个客户端对
应的子节点为 /lock/lock-10000000001 第二个为 /lock/lock-10000000002,以此
类推
客户端获取 /lock 下的子节点列表,判断己创建的子节点是为当前子节点列表中
号最小的子节点,如果是则认为获得锁,否则监听刚好在自己之前一的子节点
消息,获得子节点变更通知后重复此步骤获得锁;
执行业务代码
完成业务删除对应的子节点释放锁。
整体流程如下图所
1
7.ZooKeeper 实现分布式事务?
答:ZooKeeper 实现分布式事务,类似两阶段提交,总共分为以下 4
客户端ZooKeeper 节点发送写请求
ZooKeeper 节点将写请求转发给 Leader 节点,Leader 广播给集群要求投票,等待确
Leader 确认,统计投票数过半则提交事务;
事务提交成功ZooKeeper 节点告知客户端。
8.集群中为什么要有主节点?
答:在分布式环境中,有些业务逻辑只要集群中的一台机器进行执行,其他的机器可
共享这个果,这可以大大减少重复计,提高性能,这就是主节点存在的意义。
9.Dubbo 是什么?
答:Dubbo 是一高性能、轻量级的开源 Java RPC 框架,提供了三大核心能:面
接口的程方调用,能容错和负载均衡,以服务自动注册和发现。
10.Dubbo 有哪些特性?
答:Dubbo 特性如下:
接口理的高性能 RPC 调用:提供高性能的理的程调用能,服务以
接口为粒度,为开发者屏蔽远程调用底层细节;
负载均衡置多种负载均衡策略感知节点健康显著减少调用
延迟,提高系统吞吐量
服务自动注册与发现:支持多种注册中心服务,服务实上下线实时感知
扩展遵循微内核+ 件的设计原,所有心能
ProtocolTransportSerialization 设计为扩展点,等对待内置实现和三方实
现;
期流量件、脚本路由策略,通过配置不同的路由规则轻松实现
灰度发布,同机房优先等功能;
可视化的服务理与运维:提供丰富服务理、运维查询服务数据、服
健康状态调用统计,实时下发路由策略、调配置数。
11.Dubbo 有哪些件?
答:Dubbo 件如下:
• Provider:服务提供方
• Consumer:服务消费方
• Registry:服务注册与发现的注册中心
• Monitor:主要用来统计服务的调用次数和调用时
• Container:服务的行容器
12.Dubbo 有哪些负载均衡策略
答:Dubbo 负责均衡策略如下:
负载均衡Random LoadBalance):按权重设置概率,在一个面上碰撞
概率高,调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有于动
态调提供者权重
轮询负载均衡RoundRobin LoadBalance):按公约后权重设置轮询,存在
的提供者累积请求题,比如:第二台机器很慢但没挂,当请求调到第二台时
在那,久而久,所有请求在调到第二台上;
摘要:

Java分布式框架面试题合集1.什么是ZooKeeper?答:ZooKeeper是一个开源的分布式应用程序协调服务,是一个典型的分布式数据一致性解决方案。设计目的是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的系统,并以一系列简单易用的原子操作提供给用户使用。2.ZooKeeper提供了哪些功能?答:ZooKeeper主要提供以下功能:•分布式服务注册与订阅:在分布式环境中,为了保证高可用性,通常同一个应用或同一个服务的提供方都会部署多份,达到对等服务。而消费者就须要在这些对等的服务器中选择一个来执行相关的业务逻辑,比较典型的服务注册与订阅,如Dubbo。•分布式配置中心:...

展开>> 收起<<
031--Java分布式框架面试题合集.docx

共11页,预览3页

还剩页未读, 继续阅读

声明:本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。玖贝云文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知玖贝云文库,我们立即给予删除!
分类:计算机 价格:5.9玖币 属性:11 页 大小:121.46KB 格式:DOCX 时间:2024-12-11

开通VIP享超值会员特权

  • 多端同步记录
  • 高速下载文档
  • 免费文档工具
  • 分享文档赚钱
  • 每日登录抽奖
  • 优质衍生服务
/ 11
客服
关注