暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
分布式实时处理系统:原理、架构与实现.pdf
102
81页
0次
2023-11-30
100墨值下载
本书不但讲解高性能分布式实时处理系统编程的原理,特别对内存资源管理、编码解决方案、并发与异步处理、线程模型
批处理与实时处理的区别、消息队列、动态装载等作了详细介绍,还深入分析了实时处理系统的架构以及内部实现,最后详细分
析了怎样实现一套分布式实时处理系统Hurricane。本书非常适合大数据开发人员和架构师阅读,同时可以解决性能优化的很
问题。
——卢亿雷,AdMaster技术副总裁兼总架构师
分布式系统可以追溯到20世纪60年代的ARPANET。随着物联网、边缘计算和其他相关领域的蓬勃发展,对高性能分布式
时处理系统的需求日益增多。这本技术专著着眼于实际分布式框架的编程应用,将助力有志于该领域的软件开发人员。
——安宁,Oracle空间数据部门首席工程师、IEEE高级会员和ACM终身会员
本书不仅仅是一部讲授代码编写的书籍,还是一个开源社区的星星火种,我特别推荐所有对实时大数据分析感兴趣的同业中
人阅读此书,并以此作为迈入下一个开源大时代的第一步
——徐立冰,思科系统高级客户经理
通常来说,在互联网+、大数据时代盛行拿来主义;有开源的Spark、Strom,绝对不会动自己构建分布式系统的心思。
是作者不然,深厚的C++功底以及对分布式计算框架的深度理解,构建了高性能分布式、实时处理系统Hurricane,进入了更高
层次的追求
静下心来,这本书将对自己的C++程、分布式存储系统、分布式计算框架、分布式通信等知识进行了洗礼,不知不觉
就提升了自己的层次,期待阅读本书之后,也可以构建一个全新的分布式实时处理系统,变成分布式实时计算领域的贡献者
路已铺好,如何贡献,那是追求。
——于俊,科大讯飞大数据专家
“天下武功,无坚不摧,唯快不破”,如果说以MapReduce、Spark等为代表的批处理方式,是数据处理的“坚”,
Storm、Hurricane等流处理系统,充分体现了数据处理的“快”。本书由浅到深,从基础的分布式系统的概念、网络通信和
C++11高性能编程,到流处理中的消息、消息源、处理单元、收集器、计算拓扑等重要抽象的实现,到日志处理、频繁组合等
典型应用,深入研究了一个典型分布式流处理系统的各个重要方面,推荐
——蔡斌,腾讯科技高级工程师
分布式实时处理系统,难就难在把分布式和实时处理结合起来。本文从拆解留言板系统开始节节升级,直至推出Hurricane
实时处理系统,旁征博引,纲举目张。充分体现了分布式构建和实时处理的细节考虑。
——彭敏,思科系统(中国)研发有限公司服务器与平台架构部门研发经理
作者以他参与Cisco和Autodesk诸多大型系统开发时所积累的经验以及对开源技术多年的钻研铸就本书。本书由理论到应
用,由实现到优化,由浅入深,抽丝剥茧地把这么浩繁的概念在本书中讲得十分清晰。
——张洋,Autodesk(中国)研发中心平台架构研发部门经理
正如“如何阅读本书”中说的一样,“本书从最基本概念作为引子,逐步引入高性能分布式实时处理系统编程所需要的方方
面面,抽丝剥茧把实时处理系统的架构以及实现娓娓道来”,有概念、有理论,有本身知识体系的交代,也有周边必要知识内容
的说明,有实战、有案例,不空谈,能落地,是一本不可多得的学习分布式实时架构的好书
——贾锋,知名大数据布道者和践行者
2016年春节刚过,此时距离我出版《腾云》已经过去三年,而写作一本技术书籍的艰辛仍然历历在目。我身边有不少大拿
级别的牛人,不少都被出版社试探过,但真正动笔的寥寥可数,主要原因是写书实在不是一件吃饭喝酒般轻描淡写的事情。在被
本职工作和家庭琐事折腾得死去活来的间隙,强打起精神一砖一瓦地堆砌出几十万字,想想就让人却步,而这个过程往往历时数
月,这意味着你要过上小一年的苦行僧式生活。若不是对书中主题保持着异乎寻常的兴趣和坚定不移的信念,一般人不会轻易开
始这段苦旅。正是因为这个原因,我相信卢誉声的这本书一定是个干货满满的好东西。
优秀的技术书籍都有一个特点,那就是自下而上的阐述方式,从最底层、最实际的操作层面入手,而不是形而上的口号式概
念,而本书则正是这样一本书。读者从第1章就能实际触摸到实操的快感,书中讲解了大量实例,我常说“一百字的定义,不
一句话的实例”,通过这些范例,读者可以快速获得感性认识,进而随着章节的推进把这些认知归纳总结为自己能够掌握的方法
论。在游泳中学习游泳,说的就是这种简单、实用的学习思路。而考验一个作者功力的地方,就是他能否针对每个关键概念提出
恰当清晰的例子,并阐述清楚。从我读到的篇章来看,卢誉声的这个工作完成得相当不错。这样一本朴实而扎实的技术书籍反映
的是作者的态度,作为读者,在阅读过程中我可以感受到字面下作者热切希望跟广大同行分享的激情,那种把自己的认识和盘托
出的诚恳是每一个痴迷于技术的工程师都有过的感受,卢誉声体会过,我体会过,这本书未来的大多数读者都体会过。正是这种
对技术的诚恳让我相信本书值得一读。
回过头来我想说说对开源的认识。本书由Apache Storm说开,Apache Storm作为一个顶级开源项目在业界的影响力无
多言,为了了解项目的背景,我特意读了Storm项目的孕育者Nathan Marz的长文《History of Apache Storm and lessons
learned》。我发现,虽然Nathan充分认识到Storm能够带来的商业潜力(赶在Twitter收购前公开展示Storm的效果),但
从来没有动摇过将这个项目完全开源的打算,甚至应该反过来说,他从来没想过要将Storm作为一个私有计划保持下去。2011
年7月,Nathan所在的BackType正式被Twitter收购,几乎毫不犹豫的,他旋即开始着手将Storm开源,这之后便是大家熟悉
故事,Storm以令人炫目的速度吸收开发者,并在短短三年后,于2014年9月17日正式成为Apache顶级项目。
为什么会有开源运动?这已经是一个无法再吸引注意力的老旧话题,无数人从商业、技术、社会等领域给出了无数严密的解
答,但我们真的从心里认可这种行为了吗?特别是在国内的商业环境下,广大工程师每天享受开源项目的成果之余,真的理解开
源运动的深意了吗?至少对我来说,花了很长一段时间才得出能够说服自己的解释
第一个我无法理解的现象就是,开源并没有带来可量化的商业价值。作为开源世界的老大哥,Red Hat的管理层向股东保证
在2016财年达到20亿美元销售额,此时距离Red Hat成立已经超过20年。作为对比,2015财年Microsoft的销售额超过930亿美
元,如果说今日的微软已经包括了游戏机硬件、搜索等与软件不相关的业务,那么另一个传统软件领域的代表Oracle在2015年
营收达到382亿美元,而SAP也有200亿美元。这些被嘲笑成“史前恐龙”的传统软件厂商在不同场合被描述为落后生产力的代
表,它们站在开源潮流的对立面,出于狭隘的商业利益,沿着封闭、自我的路线一意孤行。可事实是,软件产业说到底同卖
机、卖汽车一样,仍然是一门生意,遵循用户用脚投票的商业规律,既然开源这么美好,为什么没有像苹果手机一样,通过巨大
的商业成功快速颠覆原有模式呢?
另一个一直以来我没想明白的问题是,作为最终用户的工程师为什么要拥抱开源呢?开源固然可以给程序员带来莫大的
感,不管是个人成就还是物质回报,以往依附于大型软件公司的独立程序员现在有机会在社区通过个人贡献树立更大的影响力;
可是对于绝大使用这些产品的工程师来说,开源和商业产品的区别就没有那么大了,而使用开源还伴随着学习成本和不稳定的后
期支持。即使如此,我们周围抵触开源的声音却越来越小,即使那些最老资历、最忠诚的Oracle DBA也开始接触MySQL,很有
意思?
把时间拉回20世纪90年代,彼时个人电脑还是黑科技代表之一,学校还会开设“电脑课”教授基本操作,这类课程中往
很重要的一个章节就是“五笔打字”法。打字这个技巧放在今天几乎是跟走路、吃饭一样的基本生存技能,90后一代已经很
回忆起来自己是在哪个时刻“学”会了打字,大多数都是自然而然在日常生活中磨练出来的。20年前的一门专业技巧现在已
完全融入大众生活,这其中蕴含了一个有意思的规律,即任何一种技能都会随着时间的推移失去门槛,同时在这个过程中经过无
数人的实践和磨练,这项技能已经进化出一套最有效率的模式,后来者可以跳过探索、试验的过程,用最短的时间直接掌握这套
模式就能实现之前高手级别才能达到的效果。在打字这个例子中,对于中国人来说目前在高效与易学间取得最佳平衡的是具备联
想功能的拼音输入法,因此年轻的电脑用户只需听从朋友推荐下载正确的软件,两三天内就能练就足够应付日常交流的打字
力。
如果把视线拉远,欣欣向荣的新型操作系统和数据库正是这种技能门槛不断拉低的现象在软件领域的投射。操作系统、大型
数据库这些领域在20世纪90年代是皇冠顶上的宝石,全世界也只有那么一小簇顶尖专家能够弄明白其中的奥妙,而时间过去20
年,Microsoft们已经培养出一大群熟悉这些大型系统的专家,人力门槛不复存在,而搭建一个操作系统或数据库的基本方法论
现在已经非常成熟,因此开发操作系统不再有那么耀眼的光环,越来越多的政府机构、企业、科研机构甚至个人进入这个领域,
并且取得不错的成果。这完全是因为最初的那一批精英已经填平了这条路上的大坑,并将他们提炼出来的最优方法论形成“可复
制的经验”,而后来人能够直接利用这些“可复制的经验”,快速经过基础知识积累阶段,直接针对当下的难点攻坚,从而令一
些出色的后来者能够进一步推高整个领域的高度
在没有开源运动的时代,“可复制的经验”的传承是受到严格限制的,要么在企业内部形成专利,只有技术团队的核心成员
能够接触到,要么在科研机构的高墙后,少部分有能力进入高墙后的精英得以一窥究竟。开源几乎是以几何倍数放大了“可复制
的经验”的传播速度,这种方式在技术领域带来的后果是极大地加快了技术本身的演进,这很好理解,因为参与的人多了,众人
拾柴火焰高,自然比小团体的做法有效率。而在商业领域,开源则令资源配置更有效率,开源行为本身会大量产生“可复制的经
验”,从而反过来进一步拉低特定技术领域的门槛,加速技术的演进,企业的决策者发现新技术的成熟速度大大加快,因此他们
必须更加积极地把资源配置到更前沿的领域以保持竞争力。回到Red Hat的例子,虽然这家公司本身的销售额永远不可能达
Microsoft或Oracle的高度,但Red Hat以远比Microsoft小得多的规模提供了一个同样可靠并更加灵活的操作系统,为整个行
释放出大量优秀工程师资源,这些人才将进入云计算、大数据等新兴行业,在新的山头攻坚。如果没有Red Hat这样的企业以最
有效率的方式为行业提供基础设施,新的技术领域很难建立足够的人才队伍,整个行业的发展速度也会缓慢下来。因此,我们不
能只看Red Hat的销售额,还应该看看AWS、Salesforce这样的新兴玩家,正是因为有了Red Hat,才有后者的高速发展。对于
个人而言,这种大趋势是不可阻挡的,聪明的老专家们自然会即时调整方向,拥抱开源
开源运动近年来已经逐渐突破计算机软件领域,开始向其他行业扩展,例如开源服务器硬件、开源网络设备,甚至开源的IT
管理流程。说白了,开源是一种新时代的知识传承模式,未来的世界将处处开源,竞争的壁垒将体现在高效协调资源的能力,而
不是对特定知识的独占。当我知道卢誉声将把书中提到的Hurricane完全开源时,我非常赞同他的做法。因为这个动作,本书
仅仅是一部讲授代码编写的书籍,还是一个开源社区的星星火种,我特别推荐所有对实时大数据分析感兴趣的同业中人阅读
书,并以此作为迈入下一个开源大时代的第一步
徐立冰
of 81
100墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。