vlambda博客
学习文章列表

分布式服务框架dubbo与zookeeper的关系

分布式服务框架dubbo与zookeeper的关系

分布式服务框架dubbo与zookeeper的关系

分布式服务框架dubbo与zookeeper的关系

1.   Zookeeper的作用:

 

分布式服务框架dubbo与zookeeper的关系

 

2.  dubbo:

服务是 Dubbo 中的核心概念,一个服务代表一组 RPC 方法的集合,服务是面向用户编程、服务发现机制等的基本单位。Dubbo 开发的基本流程是:用户定义 RPC 服务,通过约定的配置 方式将 RPC 声明为 Dubbo 服务,然后就可以基于服务 API 进行编程了。对服务提供者来说是提供 RPC 服务的具体实现,而对服务消费者来说则是使用特定数据发起服务调用。


Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。

 

Dubbo能做什么


      注意这里的dubbo只是一个框架,至于你架子上放什么是完全取决于你的,就像一个汽车骨架,你需要配你的轮子引擎。这个框架中要完成调度必须要有一个分布式的注册中心,储存所有服务的元数据,你可以用zk,也可以用别的,只是大家都用zk。

  Dubbo致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo是服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,说白了就是个远程服务调用的分布式框架。

 

3. zookeeper和dubbo的关系:

      Dubbo的将注册中心进行抽象,是得它可以外接不同的存储媒介给注册中心提供服务,有ZooKeeper,Memcached,Redis等。

 分布式服务框架dubbo与zookeeper的关系

dubbo节点角色说明:

· Provider: 暴露服务的服务提供方。

· Consumer: 调用远程服务的服务消费方。

· Registry: 服务注册与发现的注册中心。

· Monitor: 统计服务的调用次调和调用时间的监控中心。

· Container: 服务运行容器。

dubbo调用关系说明:

· 0. 服务容器负责启动,加载,运行服务提供者。

· 1. 服务提供者在启动时,向注册中心注册自己提供的服务。

· 2. 服务消费者在启动时,向注册中心订阅自己所需的服务。

送变更数据给消费者。

如果调用失败,再选另一台调用。

· 5. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计

数据到监控中心。

 

相似框架SpringCloud:

springcloud是基于springboot的,另外springcloud的更新也要比dubbo更新快的多,相比较dubbo:开发简洁 支持restful开发 。

而现如今国内还是使用dubbo的比较多、有中文文档、技术比较成熟了,国外使用springcloud比较多

springcloud整合了大量的第三方组件、但是优点在于springboot的自动化配置

dubbo提供的rpc调用,springcloud支持restful调用

两种的区别:

dubbo服务提供方与调用方接口依赖方式太强:我们为每个微服务定义了各自的service抽象接口,并通过持续集成发布到私有仓库中,调用方应用对微服务提供的抽象接口存在强依赖关系,因此不论开发、测试、集成环境都需要严格的管理版本依赖,才不会出现服务方与调用方的不一致导致应用无法编译成功等一系列问题,以及这也会直接影响本地开发的环境要求,往往一个依赖很多服务的上层应用,每天都要更新很多代码并install之后才能进行后续的开发。若没有严格的版本管理制度或开发一些自动化工具,这样的依赖关系会成为开发团队的一大噩梦。

而springcloud REST调用方式相比RPC更为轻量化,服务提供方和调用方的依赖只是依靠一纸契约,不存在代码级别的强依赖,当然REST接口也有痛点,因为接口定义过轻,很容易导致定义文档与实际实现不一致导致服务集成时的问题,但是该问题很好解决,只需要通过每个服务整合swagger,让每个服务的代码与文档一体化,就能解决。所以在分布式环境下,REST方式的服务依赖要比RPC方式的依赖更为灵活。

dubbo服务对平台敏感,难以简单复用:通常我们在提供对外服务时,都会以REST的方式提供出去,这样可以实现跨平台的特点,任何一个语言的调用方都可以根据接口定义来实现。那么在Dubbo中我们要提供REST接口时,不得不实现一层代理,用来将RPC接口转换成REST接口进行对外发布。若我们每个服务本身就以REST接口方式存在,当要对外提供服务时,主要在API网关中配置映射关系和权限控制就可实现服务的复用。

分布式服务框架dubbo与zookeeper的关系
金融大数据分析应用
分享金融大数据应用,大数据分析,关注hadoop,spark,scala,python统计分析及可视化。
146篇原创内容
Official Account
END
分布式服务框架dubbo与zookeeper的关系


推荐阅读

(点击标题可跳转阅读)

2
10 

扫码二维码

获取更多精彩

长按图片关注

分布式服务框架dubbo与zookeeper的关系

分布式服务框架dubbo与zookeeper的关系


分布式服务框架dubbo与zookeeper的关系

点个

在看

你最好看