ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Dubbo简介

2022-02-27 18:34:13  阅读:205  来源: 互联网

标签:Dubbo 简介 RPC Registry Provider Consumer 缺点


1.官方说明

image

Apache Dubbo 是一个高可用的,基于Java的开源RPC框架。

Dubbo框架不仅仅是具备RPC访问功能,还包含服务治理功能。

2.发展历史

Dubbo是最开始是阿里巴巴内部使用的RPC框架。

2011年对外提供。

2012年停止更新。

2017年开始继续更新。

2019年捐献给Apache,由Apache维护2.7以上版本。

3.Dubbo架构讲解

image

1、虚线表示异步执行,实线表示同步执行。异步不阻塞线程性能高,同步阻塞线程必须等待响应结果才能继续执行,相对性能低。

2、Provider:服务提供者

3、Container:容器(Spring容器),Dubbo完全基于Spring实现的。

4、Registry: 注册中心。放置所有Provider对外提供的信息。包含Provider的IP,访问端口,访问遵守的协议,对外提供的接口,接口中有哪些方法等相关信息。

5、Consumer:服务消费者(RPC调用者,SOA调用服务的项目)开发中也是一个项目,编写service和controller(还可以报页面等)。调用XXXXServiceImpl中的方法。

6、Monitor:监控中心。监控Provider的压力情况等。每隔2分钟Consumer和Provider会把调用次数发送给Monitor,由Monitor进行统计。

执行流程:

1、start:启动Spring容器时会把Provider启动。

2、register:把Provider相关信息注册到Registry里

3、subscribe:Consumer从Registry中订阅Provider的信息

4、notify:通知给Consumer

5、invoke:Consumer根据Registry通知的信息进行调用Provider中方法。

6、count:Consumer和Provider把调用次数信息异步发送给Monitor进行统计。

4.Dubbo支持的协议

Dubbo协议(官方推荐协议):

优点:采用NIO复用单一长连接,并使用线程池并发处理请求,减少握手和加大并发效率,性能较好(推荐使用)

缺点:大文件上传时,可能出现问题(不使用Dubbo文件上传)

RMI(Remote Method Invocation)协议:

优点:JDK自带的能力

缺点:偶尔连接失败

Hessian协议:

优点:可与原生Hessian互操作,基于HTTP协议

缺点:需hessian.jar支持,http短连接的开销大

5.Dubbo支持的注册中心

Zookeeper(官方推荐):

优点:支持分布式,很多周边产品

缺点::受限于Zookeeper软件的稳定性。Zookeeper专门分布式辅助软件,稳定较优

Multicast:

优点:去中心化,不需要单独安装软件

缺点:Provider和Consumer和Registry不能跨机房(路由)

Redis:

优点:支持集群,性能高

缺点:要求服务器时间同步。否则可能出现集群失败问题

Simple:

优点:标准RPC服务。没有兼容问题

缺点:不支持集群

标签:Dubbo,简介,RPC,Registry,Provider,Consumer,缺点
来源: https://www.cnblogs.com/ZT-666/p/15942985.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有