Dubbo前言
一、什么是分布式框架
分布式系统是若干独立系统的集合,但是用户使用起来像是在使用一套系统
二、为什么需要分布式系统?
规模的逐步扩大和业务的复杂,单台计算机扛不住双十一那样的流量,俗话说:三个臭 皮匠抵一个诸葛亮。
三、应用架构的发展演变
(1) 单一架构 当网站流量很小的时候,我们将所有的应用(业务)放到一台服务器上,打包运行公司管理 系统/超市收银系统 优点:开发简单,部署简单 缺点:扩展不容易(怎么处理日益增长的流量),谁都改一个,维护不容易,性能提升难
(2) 垂直应用架构 将大应用拆分成为小应用(一般按照业务拆分),根据不同的访问频率决定各自业务部署 的服务器数量 优点:扩展容易 缺点:页面一改,可能造成整个项目重新部署,业务和界面没有分离开,随着业务种类增加, 怎么解决业务之间的互相调用问题,订单服务器和用户服务器交互效率的问题
(3) 分布式架构(基于 RPC:远程过程调用) 将业务拆分后,用某种方式实现各个业务模块的远程调用和复用,这时一个好的 RPC 框架 就决定了你的分布式架构的性能,怎么调用,何时调用,服务器挂了怎么办......我们需要一个框架来帮我们解决这个问题(当然大神可以自己写一个,但是应对大流量的成功者莫过于中国的阿里巴巴公司,顶住了淘宝双十一的流量,反观一些学校内部的选课系统,对于大流量时 只有两个字--宕机)。
这时,我们本套课程的主人公就出现了:Dubbo,Dubbo 是一个高性能的 RPC 框架,解决了分布式中的调用问题
优点:解决了分布式系统中互相调用的问题
缺点:假设有100台服务器,50台用户业务服务器,50 台订单业务服务器,但是在上线后发现,用户服务器使用率很小,但是订单服务器压力很大,最佳配比应该是1:4,这时候就要求我们还有一个统一管理的调度中心。