Dubbo+Zookeeper服务框架

本文介绍了Dubbo作为RPC分布式框架的工作原理及其组件,包括Container、Provider、Registry、Consumer和Monitor。此外,详细讨论了Zookeeper的实现机制,解释了为何选择Zookeeper作为Dubbo的注册中心。还探讨了在Zookeeper服务挂机时,Dubbo如何通过本地缓存继续工作,以及如何确保Dubbo服务的高可用性。最后,提到了Dubbo的通信协议,如Dubbo协议和其与Netty、Hessian2的关系。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Dubbo:

简单的介绍一下Dubbo?(Dubbo是什么)

dubbo就是个服务调用的东东。为什么怎么说呢?因为Dubbo是由阿里开源的一个RPC分布式框架。那么RPC是什么呢?就是不同的应用部署到不同的服务器上,应用之间想要调用没有办法直接调用,因为不在一个内存空间,需要通过网络通讯来调用,或者传达调用的数据。而且RPC会将远程调用的细节隐藏起来,让调用远程服务像调用本地服务一样简单。

Dubbo有哪些组件?

主要有五个角色/核心组件,分为是Container(容器)、Provider(服务的提供方)、Registry(注册中心)、Consumer(服务的消费方)、Monitor(监控中心)。

Container容器:主要负责启动、加载、运行服务提供者

Registry册中心:注册中心只负责地址的注册和查找

Monitor监控中心:监控中心负责统计各服务调用次数、调用时间

Dubbo支持什么协议?

Dubbo协议:缺省协议、采用了单一长连接和NIO异步通讯、使用线程池并发处理请求,能减少握手和加大并发效率

Zookeeper:

Zookeeper的实现原理?(工作原理)

Zookeeper会维护一个类似于标准的文件系统的具有层次关系的数据结构。这个文件系统中每个子目录项都被称为znode节点,这个znode节点也可以有子节点,每个节点都可以存储数据,客户端也可以对这些node节点进行getChildren,getData,exists方法,同时也可以在znode tree路径上设置watch(类似于监听),当watch路径上发生节点create、delete、update的时候,会通知到client。client可以得到通知后,再获取数据,执行业务逻辑操作。Zookeeper 的作用主要是用来维护和监控存储的node节点上这些数据的状态变化,通过监控这些数据状态的变化,从而达到基于数据的集群管理。

为什么要用zookeeper作为dubbo的注册中心?能选择其他的吗?

Zookeeper的数据模型是由一系列的Znode数据节点组成,和文件系统类似。zookeeper的数据全部存储在内存中性能高;zookeeper也支持集群,实现了高可用;同时基于zookeeper的特性,也支持事件监听(服务的暴露方发生变化,可以进行推送),所以zookeeper适合作为dubbo的注册中心使用。redis、Simple也可以作为dubbo的注册中心来使用。项目中主要用zookeeper做了什么?(作用)作为注册中心用;主要是在服务器上搭建zookeeper,其次在spring管理的dubbo的配置文件中配置(暴露方和消费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值