dubbo原理是什么?有哪些优缺点?

TheDisguiser 2020-06-26 17:35:28 java常见问答 6798

小伙伴们应该没有人不知道dubbo吧,作为目前业界最火热的分布式框架之一,它被广大程序员热爱着。小伙伴们知道dubbo的工作原理是什么吗?它有哪些优缺点呢?下面小编就为你介绍介绍。

Dubbo工作原理

首先我们需要先了解dubbo的整体结构,如下图:

dubbo原理

我们可以看到Dubbo框架设计总共是分为十层的,最上层的Service层是留给实际想要使用Dubbo开发分布式服务的开发者实现业务逻辑的接口层。而在左边淡蓝背景的则是为服务消费方使用的接口,右边淡绿色背景的是为服务提供方使用的接口, 然位于中轴线上的为双方都用到的接口。

Dubbo有着四个核心要点

Provider:一般被称为服务提供者,专门提供暴露服务

Consumer:一般称为服务消费者,作用是调用远程服务

Registry:服务注册和发现的中心目录服务将它叫做服务注册中心

Monitor:统计服务的调用次数以及调用时间的日志服务将它叫做服务监控中心

原理图:

dubbo原理

Dubbo的优缺点分别是什么?

优点

1)、远程方法调用透明化

dubbo可以像调用本地方法一样调用远程方法,只需简单配置,无任何API侵入。

2)、容错机制和软负载均衡

dubbo能够在内网替代nginx lvs等硬件负载均衡器。

3)、服务注册中心自动注册 & 配置管理

dubbo不需要服务提供者地址写死,注册中心会基于接口名自动查询提供者ip。

而且如果是使用的类似zookeeper等分布式协调服务作为服务注册中心,就可以将绝大部分项目配置都移入zookeeper集群。

4)、服务接口监控及治理

Dubbo-admin与Dubbo-monitor提供了完善的服务接口管理与监控功能,能够针对不同应用的不同接口,还可以进行多版本,多协议,多注册中心管理。

缺点

dubbo是专一的,它只支持java,这就是最大的缺点。

以上就是关于dubbo原理及优缺点的全部内容,相信你一定都了解了吧。更多详细java架构师知识,请关注奇Q工具网了解详情吧。

推荐阅读:

dubbo是什么?什么是dubbo?

springboot整合dubbo,如何搭建dubbo微服务体系?

springboot整合dubbo如何实现?有何用处?