dubbo概述

目录

1. dubbo概述

1.1 什么是分布式系统?

1.1.1 单一应用架构

优点

缺点

1.1.2 垂直应用架构

1.1.3 分布式服务架构

1.1.4 流动计算架构

1.2 Dubbo简介

1.2.1 RPC

1.2.2 节点角色

1.2.3 调用关系


1. dubbo概述

1.1 什么是分布式系统?

《分布式系统原理与范型》定义:

  • “分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统”
  • 分布式系统(distributed system)是建立在网络之上的软件系统。
  • 简单来说:多个(不同职责)人共同来完成一件事!
  • 任何一台服务器都无法满足淘宝的双十一的数据吞吐量,一定是很多台服务器公共来完成的。歇后语:“三个臭皮匠赛过诸葛亮”,就是分布式系统的真实写照

1.1.1 单一应用架构

  • 当网站流量很小时,只需要一个应用,将所有的功能部署到一起(所有业务都放在一个tomcat里),从而减少部署节点和成本;
  • 此时,用于简化 增删改查 工作量的数据访问框架 (ORM)是关键;
  • 例如:某个超市的收银系统,某个公司的员工管理系统

ORM:对象关系映射(Object Relational Mapping)

优点

  • 小项目开发快 成本低
  • 架构简单
  • 易于测试
  • 易于部署

缺点

  • 大项目模块耦合严重 不易开发 维护 沟通成本高
  • 新增业务困难
  • 核心业务与边缘业务混合在一块,出现问题互相影响

 

1.1.2 垂直应用架构

  • 当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成几个互不相干的几个应用,以提高效率;
  • 大模块按照mvc分层模式,进行拆分成多个互不相关的小模块,并且每个小模块都有独立的服务器
  • 此时,用于加速前端页面开发的web框架(MVC)是关键;因为每个小应用都有独立的页面

MVC:模型视图控制器 (Model View Controller)

  • 缺点:
    • 模块之间不可能完全没有交集,公用模块无法重复利用,开发性的浪费

 

1.1.3 分布式服务架构

  • 当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的业务,逐渐形成稳健的服务中心,使前端应用能更快速的响应多变的市场需求;
  • 此时,用户提高业务复用及整合的分布式服务框架(RPC)远程调用是关键;

RPC:独立的应用服务器之间,要依靠RPC(Romote Procedure Call)才能调用

  • 物流服务不忙,有100台服务器; 商品服务特别忙,也是100台服务器;
    • 如何做到资源优化调配?↓

 

1.1.4 流动计算架构

  • 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐呈现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率;
  • 此时,用于提高机器利用率的资源调度和治理中心(SOA)是关键;

 

SOA:面向服务架构(Service-Oriented Architecture),简单理解就是“服务治理”,例如:公交车站的“调度员”

1.2 Dubbo简介

  • Dubbo是分布式服务框架,是阿里巴巴的开源项目,现交给apache进行维护
  • Dubbo致力于提高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案
  • 简单来说,dubbo是个服务框架,如果没有分布式的需求,是不需要用的

1.2.1 RPC

  • RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式
  • RPC基本的通信原理

1. 在客户端将对象进行序列化

2. 底层通信框架使用netty(基于tcp协议的socket),将序列化的对象发给服务方提供方

3. 服务提供方通过socket得到数据文件之后,进行反序列化,获得要操作的对象

4. 对象数据操作完毕,将新的对象序列化,再通过服务提供方的socket返回给客户端

5. 客户端获得序列化数据,再反序列化,得到最新的数据对象,至此,完成一次请求

  • RPC两个核心模块:通讯(socket),序列化

1.2.2 节点角色

1.2.3 调用关系

1.服务容器负责启动,加载,运行服务提供者;

2.服务提供者在启动时,向注册中心注册自己提供的服务;

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

4.在注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者;

5.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用;

6.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Forrest Gump plus

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值