美文网首页
浅谈对Dubbo的理解

浅谈对Dubbo的理解

作者: Kevin_d0af | 来源:发表于2020-05-13 17:23 被阅读0次

架构

节点角色说明

角色 角色说明
Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器

调用关系说明

1.服务容器负责启动,加载,运行服务提供者。
2.服务提供者在启动时,向注册中心注册自己提供的服务。
3.服务消费者在启动时,向注册中心订阅自己所需的服务。
4.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
5.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
6.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

Dubbo 架构具有以下几个特点,分别是连通性、健壮性、伸缩性、以及向未来架构的升级性。

1.连通性


  • 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供方和消费者方只在启动时与注册中心交互,注册中心不转发请求,压力较小
  • 监控中心负责统计各服务调用次数,调用时间等,统计先在内存汇总后每分钟一次发送到监控中心服务器,并以报表展示
  • 服务提供者向注册中心注册其提供的服务,并汇报调用时间到监控中心,此时间不包含网络开销
  • 服务消费者向注册中心获取服务提供者地址列表,并根据负载算法直接调用提供者,同时汇报调用时间到监控中心,此时间包含网络开销
  • 注册宗信,服务提供者,服务消费者三者之间均为长连接,监控中心除外
  • 注册中心通过长连接感知服务提供者的存在,服务提供者宕机,注册中心将立即推送时间通知消费者
  • 注册中心和监控中心全部宕机,不影响已运行的提供者和消费者,消费者在本地缓存了提供者列表
  • 注册中心和监控中心是可选的,服务消费者可以直连服务提供者

2.健壮性


  • 监控中心宕掉不影响使用,只是丢失部分采样数据
  • 数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务
  • 注册中心对等集群,任意一台宕掉后,将自动切换到另一台
  • 注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯
  • 服务提供者无状态,任意一台宕掉后,不影响使用
  • 服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复

3.伸缩性


  • 注册中心为对等集群,可动态增加机器部署实例,所有客户端将自动发现新的注册中心
  • 服务提供方无状态,可动态增加机器部署实例,注册中心将推送新的服务提供者信息给消费者

常见问题

1.什么是长连接,对长连接的理解

  • 服务一般分为短连接服务跟长连接服务,短连接服务是每次请求都建立链接,交互完之后关闭链接。而长连接服务是初始建立链接并保持,后续所有请求都走该通道。
  • 短连接服务架构相对简单,信息传输相对可靠,但每次建立连接耗时多,性能低,还有一个短板就是服务端无法主动Push消息给客户端。
  • 长连接服务,构建相对复杂,信息传输的可靠性需要有一套机制来保障,实时通讯就是指当服务端有消息后,可以通过长连接实时推送给客户端,而不必让客户端以轮询的方式请求服务端询问是否有新消息
    2.什么是对等集群
    即所有节点都是工作节点,没有主控。代表设计有Amazon Dynamo.不过这种设计带来了很对复杂性,实际效果并不是很理想,目前商用的产品设计都是有主控节点的。

Dubbo文档学习
http://dubbo.apache.org/zh-cn/docs/user/quick-start.html

相关文章

  • 浅谈对Dubbo的理解

    架构 节点角色说明 角色角色说明Provider暴露服务的服务提供方Consumer调用远程服务的服务消费方Reg...

  • 谈谈对Dubbo的理解

    一、Dubbo的前世今生: 起初是阿里巴巴开源项目,中间有一段时间不维护了,后来被当当网给捡起来维护了,...

  • 浅谈对写作的理解

    先谈谈,什么是写作?我的理解,写作是寻找一条直抵心灵的路径,写作是捕捉吹过脸颊的一缕微风,写作是空谷幽兰散...

  • 浅谈对招聘的理解

    最近主要的工作内容是招聘,这几年间歇式的参与了一些招聘面试,但回过头来总结,发现自己之前从未认真审视回顾,所以工作...

  • 浅谈对viewport的理解

    viewport是什么? viewport的进一步理解 在pc浏览器上 (原始大小) (修改后的大小) 在手机浏览...

  • 浅谈对佛法的理解

    本人不是佛教徒。 佛法我不懂,佛祖说无法可说即为说法!越想说明白越说不明白!这些年总有很多打着宗教旗号行骗的团体和...

  • 浅谈对财商的理解

    智商让你聪明,情商让你学会给钱工作,变成钱的奴隶,只有财商才会让你成为钱的主人。 因为当时的一本书,那是我所有梦想...

  • 浅谈,对音符的理解

    世界那么大,不会因为某个人不喜欢一首歌(曲子),而关闭该有的音符,或淡然或漠视(或保持中立),彷佛更适合我。打个...

  • 我对Dubbo的理解及学习

    Dubbo解析 对Dubbo的总体理:服务发布+远程调用+容错机制 一、服务发布 1、服务发布 1、解析XML成为...

  • 使用Netty搭建Dubbo

    前言 Dubbo是基于Netty搭建的RPC框架,为了更好地理解Netty在Dubbo中的应用,仿照Dubbo搭建...

网友评论

      本文标题:浅谈对Dubbo的理解

      本文链接:https://www.haomeiwen.com/subject/oagnnhtx.html