收藏到会员中心

文档题目:

如何设计分布式消息驱动架构

如何设计分布式消息驱动架构
上传会员: Mktv1520
提交日期: 2021-01-13 09:59:46
文档分类: 计算机
浏览次数: 37
下载次数: 0
下载地址: 点击标题下载 如何设计分布式消息驱动架构 (需要:2 积分)  如何获取积分?
下载提示: 不支持迅雷等下载工具,请右键另存为下载,或用浏览器下载。不退出登录1小时内重复下载不扣积分。
文档介绍: 以下为文档部分内容,全文可通过注册成本站会员下载获取。也可加管理员微信/QQ:17304545代下载。
文档字数: 3961
目录
如何设计分布式消息驱动架构 2
一、 绪论 2
美国科学家约翰.冯.诺伊曼发明世界上第一台计算机的初衷就是代替人工算术,当时在一秒钟之内进行了5000次加法运算和500次乘法运算,一举震惊世界,人们无不欢呼喝彩。时至今日,计算机不仅可以进行数值计算,还可以进行逻辑计算,并且还具有记忆功能。 2
随着计算机被广泛地运用到各行各业,从而诞生了一种行业:软件开发工程师、程序员、码农,他们每天都在为现实世界编写各种程序,然后在计算机中运行它们,自动、高效、永无休止地帮人类处理海量工作。 2
二、 工作模式 2
在现实世界中,每当面临挑着或者解决巨大问题时,人类都会按照这两种工作模式解决问题,如下: 2
(一) 蚂蚁搬大象 2
蚂蚁每天都在孜孜不倦地寻找食物,并将其搬回巢穴。 2
当一只蚂蚁发现一头大象尸体时,便会发出通知信号,随后附近所有的蚂蚁都会纷至沓来,一起将这头大象搬回洞穴。 2
有的蚂蚁抬头,有的蚂蚁搬脚,有的蚂蚁顶肚,还有的蚂蚁。。。。。。齐心协力地一步步将大象搬回去,不得不感叹蚂蚁的智慧和毅力。 2
由此可见,蚂蚁搬大象采用的是一种中心化的工作模式,即将所有的蚂蚁集中到一起,收到抬头消息的蚂蚁就抬头,收到搬脚消息的蚂蚁就搬脚,收到顶肚消息的蚂蚁就顶肚,从而完成一只蚂蚁无法办到的事。同理,计算机领域中的分布式和集群也是一样的道理,协调控制器会自动划分角色(master/slave、header/follower),分配任务,发送通信消息,从而将多台计算机组成一个整体,完成一台计算机无法完成的事情,比如:天猫双十一、春晚抢红包、12306购票等。 2
(二) 大象装冰箱 3
在赵本山、宋丹丹的小品中,有一个环节,赵问:“如何将一头大象装进冰箱”?宋答“三步,第一步打开冰箱门,第二步放入大象,第三步关上冰箱门”。 3
相信很多观众当时都非常费解,哪有这么大的冰箱呢?其实我们都认为将一整头大象直接放入冰箱是不可能,但是大家还是会这样想,这都是惯性思维。 3
完成这个挑战很简单,只需打破惯性思维,首先聘请一群工人将大象分解,一部分工人切分头部,一部分工人切分身体,一部分工人。。。。。。,最后再分别将分块放入冰箱。 3
由此可见,这是一种将大问题拆分成小问题,然后分而治之的方法,从而达到将大象放入冰箱的目的,收到切分头部消息的工人就切分头部,收到切分身体消息的工人就切分身体,各自独立完成一部分工作,这是一种去中心化的工作模式。同理,在分布式系统中,为了增加系统容错性,提高数据可靠性,经过分片每个计算节点都会存储一部分数据,这就是分布式存储,不同于传统方式将所有数据集中存储在一起,比如:MySql数据库。 3
三、 本质 3
综上所诉,中心化模式追求的是齐头并进,要么都完成,要么都完不成,强调一种事务性,蚂蚁搬大象就是这样,只要有蚂蚁偷懒,未完成前一个步骤,那么下一个步骤就无法进行,因为有的蚂蚁可能会被压死,这样最终就无法完成任务。与之相对,去中性化模式,首先将任务分解,然后分发给各个工人,高度自治,完成一部分就是一部分,只要最终完成就行了。 3
那么如果希望设计一种既能完成蚂蚁搬大象,又能胜任大象放冰箱的系统,那么就需要支持这两种模式。 3
从整体上,可以采用去中心化模式进行分解,这是框架的职责,需要做到对使用此框架的应用开发工程师完全无感知;对于拆分出来的独立模块,这是应用开发工程师编写高度自治业务逻辑(比如:聚合根)的地方,对外而言,它们只管接收什么类型的消息(命令),发送什么类型的消息(事件),这就是最简单的、最本质的开发模式,就像开发单体应用程序一样,他们只需完全专注于业务领域。 3
四、 特点 3
综上所述,为了满足框架易用性、数据可靠性、系统可用性,设计的系统需要具备以下特点: 3
(一) 消息驱动 3
(二) 低延迟 3
(三) 高并发 4
(四) 高可用 4

(本文由word文档网(www.wordocx.com)会员上传,如需要全文请注册成本站会员下载)

热门文档下载

相关文档下载

上一篇论职高计算机学生的学习与创新能.. 下一篇论网络信息安全之黑客攻击技术

相关栏目

最新文档下载

推荐文档下载