Dubbo框架简介

前言: 今年三月份换了一份工作,在新公司使用阿里开源的Dubbo作为RPC服务框架,其使用方法和原VIP的Venus框架略有不同,在看过框架介绍后发现,其原理都是相似而共通的,现简记如下。 参考文档:阿里巴巴Duboo官网
摘要由CSDN通过智能技术生成

前言:
今年三月份换了一份工作,在新公司使用阿里开源的Dubbo作为RPC服务框架,其使用方法和原VIP的Venus–OSP框架略有不同,在看过框架介绍后发现,其原理都是相似而共通的,现简记如下。
参考文档:阿里巴巴Duboo官网

一 、知识点

  1. SOA(Service Oriented Architecture):面向服务的架构。
    • 由 服务治理、服务注册和发现、RPC、监控中心、调度中心以及服务路由、负载均衡等功能模块组成的资源调度和治理中心。

二、 RPC的演进

RPC框架演变

  • 框架演进:ORM–>MVC–>RPC–>SOA
  • 架构演进:单一应用架构–>垂直应用架构—>分布式服务架构–>流动计算架构
  • 单一应用架构
    • 网站流量小的时候,将所有功能集中到单一应用以减少成本。性能瓶颈在于 ORM框架。
  • 垂直应用架构
    • 网站流量增大,横向扩展带来的效益越来越低,将应用拆分为互不相干的几个应用以提升效率。性能瓶颈在于MVC框架。
  • 分布式服务架构
    • 当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。 此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。
  • 弹性计算架构
    • 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。 此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键。

三、 架构简介

架构图
架构图

节点角色

  1. Provider:服务提供方,在启动时向注册中心注册服务;
  2. Consumer:服务消费方,向注册中心请求服务提供方列表,在本地做负载均衡调用服务;
  3. Register:注册中心,提供服务注册与发现(一般由Zookeeper担当),通过长连接与Provider和Consumer保持连接,负责监控Provider的上下线并及时通知Consumer;
  4. Monitor:监控中心,负责统计服务的性能数据;
  5. Container:服务运行容器。

调用关系

  1. “0.start”:服务运行容器启动、加载、运行服务提供方,一般由Spring容器启动Jar运行;
  2. “1.register”: 服务提供方在启动时,向注册中心注册自己的IP、服务接口等信息;
  3. “2.subscribe”: 服务消费方向注册中心订阅自己感兴趣的服务提供方;
  4. “3.notify”: 注册中心在服务提供方发生变更时将基于长连接向消费方推送消息;
  5. “4.invoke”: 服务消费方在本地对服务列表做软负载均衡算法,选择最优的服务提供方进行RPC调用;
  6. “5.count”: 消费方和提供方向监控中心 定时异步推送服务调用次
  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值