开发者学堂课程【阿里巴巴分布式服务框架 Dubbo 快速入门:分布式系统定义】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/624/detail/9453
分布式系统定义
内容简介:
一、基础知识
二、dubbo 配置
三、高可用场景
四、Dubbo 原理
一、基础知识
1.什么是分布式系统?
《分布式系统原理与范型》定义:
分布式系统是若干独立计算机的集合 这些计算机对于用户来说就像单个相关系统”。分布式系统(distributed system)是建立在网络之上的软件系统。
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。
Double,是现在开发分布式应用里边使用的非常多的一个 RPC 框架。那么对于 double 的学习,分为四章内容。
第一章,首先学习一下分布式系统里边的一些基础理论和一些概念,double 的一些基本使用。
第二章,主要讲解常用的以及一些核心的配置。
第三章,主要学习一下 double 在开发分布式应用中的一些可用场景。第四章,研究一下 double 的原理。
来了解一下分布式理论的一些基础理论。
对于分布式系统的定义,在分布式系统原理与范型这本书中,他是这样说的。分布式系统,是若干独立计算机的集合。
这个计算机,对于我们用户来说,像是在使用单个系统,也就是说很多的计算机合起来为用户提供一种系统服务。
那对于用户来说使用这个系统服务,感觉是在用一个单个的完整系统,而不是再用这些独立的计算机。
举一个生活中的例子,比如在使用京东商城进行购物时,登录京东商城完成了整个购物。
对于用户使用来说,体会到的是一个完整的京东商城系统,实际上,京东商城后边有成千上万台独立的该计算机为我们提供服务,而这些所有计算机合起来构成了一个完整的京东商城系统。
那我们这个京东商城,它是一个分布式的系统。那为什么要有分布式系统?
随着互联网的发展,开发的这些网站应用的规模在不断的扩大。它们的功能也越来越复杂,那这种情况下,常规的应用架构就无法应对了,也就是说我们不可能将一个大型的应用能放在某一个服务器上让这个服务器对外提供服务。
比如一个应用是淘宝级别的,那可能没有任何一款服务器能抵御住像淘宝的双11那么大的流量,每秒要处理几十万的订单交易,每秒有几个亿的实时数据处理。
那面对这种情况怎么办?
既然有一个超大型的系统,不妨把这个大型系统划分成一个个的小功能模块儿。把这些功能模块分布在各个计算机上。那这么多的计算机就合起来组成一个完整的系统提供服务,这就是分布式的架构思想。把系统分成一个个的小模块儿,叫小模块儿,小服务分成这些小模块以后,模块之间也有着千丝万缕的联系,比如 A 可能要用到 BB,可能要用到 CC,可能要用到 DD,回过头又得用不到 B 等,这么复杂的关系,急需要一个治理系统来维护我们这个复杂的关系,为了保证系统有条不紊地进行,double 就能维护和治理刚才那些复杂的关系。那么有了它,就能轻而易举地使用分布式的思想来架构一个应用。