猜你喜欢
反应式设计模式

反应式设计模式

书籍作者:罗兰·库恩(Roland Kuhn)布赖恩·哈纳 ISBN:9787302517146
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4414
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

《反应式设计模式》介绍反应式应用程序设计的原则、模式和经典实践,讲述如何用断路器模式将运行缓慢的组件与其他组件隔开、如何用事务序列(Saga)模式实现多阶段事务以及如何通过分片模式来划分数据集,分析如何保持源代码的可读性以及系统的可测试性(即使在存在许多潜在交互和失败点的情况下)。

主要内容
? “反应式宣言”权指南
? 流量控制、有界一致性、容错等模式
? 得之不易的关于“什么行不通”的经验
? 在巨大的负载下保持伸缩性的架构

作者简介

Roland Kuhn博士曾在慕尼黑工业大学学习物理专业,获得了博士学位;在欧洲核子研究中心(瑞士日内瓦)的高能粒子物理实验中,发表了关于核子的胶子自旋结构测量的博士专题论文。该实验需要使用和实现大型计算集群以及快速的数据处理网络,这也为Roland透彻理解分布式计算奠定了基础。此后,Roland博士在德国空间运营中心工作了4年,负责建设军事卫星的控制中心和地面基础设施。再后来,他加入Lightbend(之前叫做Typesafe)公司,在2012年11月到2016年3月期间负责带领Akka团队。在此期间,他与Martin Odersky和Erik Meijer一起在Coursera平台上讲授Principles of Reactive Programming课程,这门课程的学员超过12万人。Roland与Jonas Bonér等人共同撰写了第一版的《反应式宣言》,该宣言于2013年6月发表。目前,Roland是Actyx的首席技术官及联合创始人,Actyx是一家总部位于慕尼黑的公司,致力于使欧洲的各类中小型制造企业享受到现代反应式系统的福泽。
Brian Hanafee在加利福尼亚大学伯克利分校获得电气工程与计算机科学学士学位,现任富国银行的首席系统架构师,负责设计网上银行和支付系统,并长期引领公司的技术门槛提升。此前,Brian曾在甲骨文公司工作,致力于研究新兴产品、互动电视系统以及文本处理系统。Brian也曾任博思艾伦咨询公司的咨询师,并曾在ADS公司将人工智能技术应用到军事规划系统中。Brian还为第一代弹射安全的头盔综合显示系统编写了软件。
Jamie Allen是星巴克UCP项目的技术总监,致力于以跨运营模式、跨地域的方式,为星巴克公司各地的消费者重新定义数字体验。他是Effective Akka一书的作者,曾与Roland和Jonas一起在Lightbend公司工作4年以上。Jamie自2008年以来一直从事Scala和Actor开发工作,与世界各地的客户合作,帮助他们理解和采用反应式系统设计。

编辑推荐
现代Web应用程序的用户数量众多,即使服务器出现故障或有新服务器上线,Web应用程序也需要继续提供服务;Web应用程序需要在资源有限的情况下,将信息提供给分布于全球的广大用户。“反应式应用程序”能适应部分失败以及负载变化情形,并在变化多端的分布式环境中保持即时响应性;如何做到这一点呢?秘诀就在于“消息驱动的架构”以及各种设计模式。
《反应式设计模式》围绕反应式宣言展开,讲述什么是反应式、为何需要反应式,以及反应式系统设计与开发中的一些常用模式,无论是软件开发者还是系统架构师,都可从本书中汲取知识养分。书中提出许多真知灼见,勾勒出反应式应用程序、反应式系统以及反应式平台等概念,有场景、有故事、有概念、有实践,令人沉醉其中,流连忘返。
前言

前 言

《反应式设计模式》旨在成为引导你理解和设计反应式系统的综合性指南,不仅提供《反应式宣言》的注解版本,还包括开创该宣言的缘由和论据。《反应式设计模式》浓墨重彩地描述一些反应式设计模式,这些模式实现反应式系统设计的多个方面;还列出了更深层次的文献资源,以便你进一步研究。所陈述的模式形成一个连贯整体,虽然并非详尽无遗,但其所包含的背景知识将使得读者能在需要的时候识别、提炼和呈现出新模式。
读者对象
《反应式设计模式》面向每一位想要实现反应式系统的人士。
? 《反应式设计模式》涵盖反应式系统的架构设计以及设计理念,向架构师简要介绍反应式应用程序及其组件的特性,并讨论了这些模式的适用性。
? 践行者将受益于书中对于每个模式所适用场景的详尽讨论。《反应式设计模式》列出各模式的应用步骤,并配备完整的源代码;讲述了在不同场景下,如何灵活运用和适配这些模式。
? 希望学到更多知识的读者在观看了Principles of Reactive Programming视频课程后,将乐意了解反应式原则背后的思考过程,并可遵循参考文献做进一步的研究。
阅读《反应式设计模式》前,读者不必预先了解反应式系统,但仍然需要熟悉通常的软件开发,并具有一些排除分布式系统引发的困难的经验。对于某些部分,基本理解函数式编程将有所裨益(例如了解如何使用不可变值和纯函数进行编程),但不必了解范畴论。
导读
《反应式设计模式》的内容是特意组织编排的,以便读者可像读一本故事书那样翻阅。首先呈现一个介绍性示例,概述《反应式宣言》以及反应式工具集,进而探讨反应式原则背后的哲学,最后从不同角度阐述设计反应式系统所需的设计模式。这段旅程涵盖大量知识领域,并在文字描述中引用了不少额外的背景资料。通读一遍,浏览相关内容,你将建立对书中知识范围的直觉。但这通常只是进一步研究的起点;在自己的项目中应用从《反应式设计模式》学到的知识时,可回头再次研读,那时会获得更深刻的洞察力。
如果你已经熟悉反应式系统面临的挑战,可跳过第1章;如果你已经熟悉大多数行业主流工具,则可跳过第3章。时间紧迫的读者可直接开始阅读第III部分讲述的各个模式,但依然建议首先学习第II部分:模式的描述过程常引用相关解释及理论背景,这些内容都是对应设计模式的衍生基础。
具有更多设计和实现反应式系统的经验后,预计你将再次研读那些更富哲理性的章节——尤其是第8章和第9章;首次阅读时,会觉得这两章的内容难以理解,请不必担心,反复研读即可。

约定
由于在作为编程概念时,对英文单词future的多重解读已严重偏离其本身的含义,因此,所有将其作为编程概念引用的地方都使用首字母大写的Future,就算没有出现在代码字体中也是如此。
英文单词Actor的情况略有不同,在日常英语中Actor指舞台上的一个人,以及一个动作或处理过程的参与者。因此,这个单词只有在特别指 Actor 模型,或在代码字体中作为 Actor 特质出现时,才会大写。


Manning承诺为读者提供一个交流场所,在那里,你可与作者以及其他读者进行有意义的对话。但作者不对参与程度做任何承诺,作者对AO的贡献仍是自愿的和无偿的。我们建议你向作者提一些富有挑战性的问题,以引起他们的兴趣!
只要《反应式设计模式》英文版尚未绝版,就可从Manning出版社的网站上访问到作者在线论坛以及之前讨论的存档。


短评

非常好,你不信试试呢,推荐购买啊啊啊啊啊啊啊啊。不行你看我的评论是为啥啊啊啊。

2019-01-19 14:33:04

非常好,你不信试试呢,推荐购买啊啊啊啊啊啊啊啊。不行你看我的评论是为啥啊啊啊。

2019-01-22 12:16:23

最近流行各种serverless和反应式框架,但到底应该什么场景使用,如何使用,买本书扩展一下思路。

2019-01-18 21:43:06

此用户未填写评价内容

2019-01-21 11:22:17