您当前的位置: 首页 >  dubbo

一一哥Sun

暂无认证

  • 4浏览

    0关注

    622博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

09_00_Dubbo教程之为什么要用Dubbo

一一哥Sun 发布时间:2019-06-09 09:53:55 ,浏览量:4

为什么要用Dubbo? 一. 为什么要用dubbo?

当网站规模达到了一定量级的时候,普通的MVC框架已经不能满足我们的需求了,于是分布式的服务框架和流动式的架构就凸显出来了.

二.Dubbo实现分布式架构

三.项目架构分类 1. 程序架构演变

1.1 单一应用架构(ORM) 

当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本.

缺点:单一的系统架构,使得在开发过程中,占用的资源越来越多,而且随着流量的增加越来越难以维护.

1.2 垂直应用架构(MVC) 

垂直应用架构解决了单一应用架构所面临的扩容问题,流量能够分散到各个子系统当中,且系统的体积可控,一定程度上降低了开发人员之间协同以及维护的成本,提升了开发效率. 

缺点:但是在垂直架构中相同逻辑代码需要不断的复制,不能复用. 

1.3 分布式应用架构(RPC) 

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心. 

RPC(Remote Procedure Call Protocol):远程过程调用.  两台服务器A、B,分别部署不同的应用a,b.当A服务器想要调用B服务器上的应用b提供的函数或方法的时候,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义传达调用的数据.

RPC是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据.在ISO网络通信模型中,RPC跨越了传输层和应用层,RPC使得开发包括网络分布式多程序在内的应用程序更加容易.

RPC采用客户机/服务器模式,请求程序就是一个客户机,而服务提供程序就是一个服务器.首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息.在服务器端,进程保持睡眠状态直到调用信息到达为止.当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息.最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行.

1.4 流动计算架构(SOA) 

随着服务化的进一步发展,服务越来越多,服务之间的调用和依赖关系也越来越复杂,诞生了面向服务的架构体系(SOA),也因此衍生出了一系列相应的技术,如对服务提供、服务调用、连接处理、通信协议、序列化方式、服务发现、服务路由、日志输出等行为进行封装的服务框架.

2. 项目的演变过程

3. 不同项目架构对比

1️⃣.单一应用架构:

当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本.

此时,用于简化增删改查工作量的数据访问框架(ORM)是关键.

2️⃣.垂直应用架构:

当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将应用拆成互不相干的几个应用,以提升效率.

此时,用于加速前端页面开发的 Web框架(MVC)是关键.

3️⃣.分布式服务架构:

当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求.

此时,用于提高业务复用及整合的 分布式服务框架(RPC)是关键.

4️⃣.流动计算架构:

当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率.

此时,用于提高机器利用率的 资源调度和治理中心(SOA)是关键.

关注
打赏
1665624836
查看更多评论
立即登录/注册

微信扫码登录

0.0371s