反应式应用开发
讲解包含反应式编程在内的与反应式应用开发有关的各个基本概念以及一些常用的模型与工具。

作者:[美]邓肯·德沃尔(Duncan DeVore),[美]肖恩·沃尔什(Sean Walsh),[美]布赖恩·哈纳菲(Brian Hanafee);蒲成 译

定价:69.8元

印次:1-1

ISBN:9787302563563

出版日期:2020.10.01

印刷日期:2020.10.14

图书责编:王军

图书分类:零售

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

关键任务型应用必须立即响应负载的变化、从故障中优雅地恢复并满足对性能、成本和可靠性的严格要求。这可不是什么小任务!反应式设计能够通过模块化、消息驱动的架构、创新的工具和基于云的基础设施更容易地满足这些需求。 《反应式应用开发》介绍如何使用反应式设计模式构建可靠的企业级应用。本书首先介绍了反应式思维模型以及对Akka参与者框架等核心技术的审视。然后使用Scala构建了一个概念验证系统,并讲解CQRS和事件溯源等模式的应用。在实现伸缩性和回弹性、与传统架构集成以及理解强大的测试技术的同时,读者将掌握反应式设计原则。 主要内容 设计可伸缩的领域模型 构建可容错的系统 高效应对海量数据 可以用Scala或Java构建的示例

Sean Walsh已经在技术行业工作了20多年。在此期间,他从一开始使用Microsoft技术体系的语言和框架进行编程,转变到在20世纪90年代中期成为Java的早期使用者。Sean为许多垂直领域(特别是金融、能源和零售行业)的初创公司和企业提供咨询。自1996年以来,他一直是曼哈顿一家成功的中型咨询公司的首席技术官和联合创始人。他还是SOA Software的服务副总裁,以及一家利润丰厚的软件咨询公司的所有者。在卖掉上一家公司并休息了一段时间后,Sean决定再次扬帆起航,并且再次开始在能源行业从事实践咨询工作,最初使用的是Java和Spring,但在看到它们的局限性后,Sean开始使用Akka和Scala。Sean在使用Lightbend开源技术栈构建分布式应用方面积累了多年的经验,其中包括Weight Watchers的数字化转型。Sean现在是Lightbend的现场CTO,负责帮助Lightbend的客户实现反应式架构。Duncan Devore是Lightbend的首席系统工程师,并且多年来一直是Scala、Akka和反应式应用的坚定支持者,他开发了第一批投入生产使用的反应式应用之一。他还是Martin Krasser最初的事件溯源项目的提交者,该项目后来发展成为Akka Persistence,同时他还维护着Akka Persistence Mongo Journal。Brian Hanafee首次涉足书籍编写是作为《反应式设计模式》(Reactive Design Patterns,该书已由清华大学出版社引进并出版)的合著者。他是富国银行(Wells Fargo Bank)的首席系统架构师,负责各种不同的开发活动,并一直提倡提高技术水平。此前,Brian就职于Oracle公司,致力于互动电视和文本处理的新产品及系统的研发。1994年,他在一辆行驶的汽车上发出了第一封电子邮件。在此之前,Brian曾在Booz、Allen & Hamilton和Advanced Decision Systems担任助理,并将人工智能技术应用于军事规划系统。他还为其中的首批弹射安全头盔式显示系统编写了软件。Brian在加州大学伯克利分校获得了电子工程和计算机科学学士学位。

前  言 Duncan和Sean在2011年遇到了各种各样的物联网(Internet of Things,IoT)问题,他们意识到典型的应用架构并不适合他们。他们需要研究其他选项,于是就发现了Akka,并且接受了领域驱动设计、命令查询责任分离(Command Query Responsibility Segregation,CQRS)和事件溯源的概念。接受了这些概念之后,他们终于能够将精力集中在具有挑战性的业务问题上,并且享用到一种每天无论处理1000个事务还是处理10亿个事务都同样高效的架构。 在经历了早期的成功之后,他们很快意识到反应式Akka应用将是未来的潮流,并且随着时间的推移,大规模应用和物联网将成比例地增长。Sean已经和曼宁出版社取得了联系,并且一直在为该出版社写书评。正是基于这样的关系,Duncan认为他和Sean应该合作编写这本书。反应式架构确实变得非常流行,以至于Duncan和Sean变得非常忙碌,并一直保持这种忙碌状态。Sean创立了Reactibility,并很快成为Weight Watchers数字化转型这项工作的首席架构师。Duncan实现了加入Lightbend(当时名为Typesafe)的梦想。他们忙得几乎没有时间写书,不过他们很幸运,Brian加入进来并且完成了《反应式应用开发》的撰写。 在撰写《反应式应用开发》时,反应式技术世界一直在演进,但是我们认为这种理念仍然是合理的;许多财富500强公司都在采用这种技术,其中包括IBM。IBM对Akka技术和Lightbend进行了大量的投资。《反应式应用开发》包含一些较新的主题,比如流和Ligh...

目录
荐语
查看详情 查看详情
第Ⅰ部分  基础知识

第1章  什么是反应式应用   3

1.1  为何需要反应式应用   5

1.1.1  分布式计算   5

1.1.2  云计算   6

1.2  网上购物车:表象之下的复杂性   7

1.2.1  单体式架构:难以分布   7

1.2.2  反应式架构:默认就是分布式的   13

1.2.3  理解反应式架构   15

1.2.4  单体式购物车:创建订单   17

1.2.5  事件溯源:银行账户登记   19

1.2.6  反应式购物车:使用事件溯源创建订单   20

1.3  反应式应用能对哪些对象做出反应   23

1.4  通过本书能学到什么   24

1.4.1  使用松耦合设计的异步通信   24

1.4.2  伸缩性   24

1.4.3  回弹性   25

1.4.4  响应性   25

1.4.5  测试   25

1.5  本章小结   26

第2章  初识Akka   27

2.1  理解消息和参与者   28

2.1.1  从函数转向参与者   28

2.1.2  使用参与者和消息进行领域建模   30

2.1.3  定义消息   31

2.1.4  定义参与者   32

2.2  安装示例项目   34

2.3  启动参与者系统   36

2.3.1  创建驱动   37

2.3.2  运行驱动程序   37

2.4  跨多个系统分布参与者   38

2.4.1  分布到两个JVM   38

2.4.2  为远程参与者进行配置   39

2.4.3  设置驱动程... 查看详情

《反应式应用开发》将深入浅出地讲解包含反应式编程在内的与反应式应用开发有关的各个基本概念以及一些常用的模型与工具。通过阅读本书,具备一定开发经验的读者将能够充分理解反应式技术领域所涉及的方方面面,并且可以亲自动手开发出具 备反应式基本特性的应用。
《反应式应用开发》示例采用的是渐进演化的方式,以期读者可以逐步实践,循序渐进地掌握反应式编程的微妙之处。 虽然本书内容都是以Akka 框架为基础展开的,不过译者认为,作为开发人员, 我们不应仅着眼于某个框架,而是要通过现象看清本质,框架只不过是思想体系或方法论的实践落地而已。希望读者可以通过阅读本书掌握反应式编程的理论精髓,而不是仅仅停留在可以用 Akka框架编写反应式应用这样的层面上。

查看详情