- 了解当企业、政府和其他机构通过事件和数据流进行整合时,流会带来哪些好处。
- 通过Wardley Mapping可视化和Promise Theory建模了解流集成的价值链。
- 了解当今事件驱动系统市场背后的基本概念。
- 了解当今的集成模式将如何影响未来的实时事件流。
- 探索为什么公司应该从今天开始构建软件架构,以便在未来几年从流中获得收益。
现在的软件开发正在拥抱事件和流数据,这不仅优化了技术交互的方式,也优化了业务相互集成的方式,以满足客户的需求,这种现象被称为流,由模式和标准组成。这些模式和标准确定了各方之间通过互联网进行的通信活动和相关数据。
本书探讨了这种演变的关键影响:当事件和数据流帮助你发现新的活动来源以增强现有业务或推动新市场时,究竟会发生什么?哪些技术和架构模式可以帮助你的公司把握流程带来的机会?JamesUrquhart是VMware全球CTO。他指导企业架构师、软件开发人员和产品经理完成这一过程。
前言
这是一本关于软件集成的前景及其对经济过程演变的影响的书。本书旨在让技术人员和决策者踏上通往未来愿景的旅程,看到我们以及机构之间合作方式的根本性转变。因此,它也是一本关于机遇的书。
从表面上看,这似乎是一本关于科技的书。我们当然会调查当前或在不久的将来可用的、有助于组织之间活动交流方式的技术。然而,你应该从这本书中获得的最重要的概念是新技术对机构合作与协作演变的影响。
系统状态这种流畅且实时的通信像极了河流中的水流,又或是公路系统中的交通流,它是一种活动流。可用的活动类型和希望使用它们的实体的诉求决定了这种流所遵循的路径。数据越容易找到通向正确实体的正确路径,系统就越容易适应和发现所需的行为。
因为数据是推动经济活动的动力,所以集成是我们数字经济发展的关键。如今,跨组织边界的集成既昂贵又缓慢。我们极大地依赖人为活动、历史数据和海量数据处理来确保我们的市场运转和机构运营。那么,问题就变成了,如果我们能够使得数据实时交互变得相对便宜,并且几乎瞬间就能完成呢?
随着我在本书中所描述的技术的发展,在互联网上连接因果关系事物的成本很快就会大大降低。反之,这将导致组织执行的集成数量急剧增长,并加速经济实验的过程。这些都是导致寒武纪大爆发的条件,某种意义上说,这是一个充满活力的土壤,可以产生戏剧性的全新解决方案,改变世界的运行方式。我将论证为什么爆炸是不可避免的。就像HTTP 创建了万维网并链接了世界的信息一样,我所说的流将创建万维流并链接世界的活动。从很多方面来说,这是一本具有挑战性的书。其中最重要的是它的大部分内容都是推测性的。任何的万维流技术被视为主流可能还需要十年时间。或许还需要三到五年的时间,才能出现强有力的竞争者为实验提供了必要的编程接口和数据协议。那么为什么现在写这本书呢?
答案在于从今天之前数十年的分布式系统发展中吸取的经验教训。作为一个全球技术社区,我们更容易忽视摆在我们面前的可能性,专注于如何逐步改善我们今天所了解的世界,而不是为明天的混乱做准备。这有一个很好的理由:我们都没有水晶球。
但是,我们确实有工具可以让我们深入了解可能发生的总体趋势。我们可以明智地分析技术格局和用户需求,以找到可能发生演变或革命的地方。我将使用其中的两个(沃德利地图和允诺理论),来演示流程需要哪些组件,以及为什么这些组件会从现在的形式演变为一种鼓励无处不在的事件驱动集成的形式。
云计算让许多组织措手不及,从而导致竞争对手获得优势或错失完成任务的机会。我写这本书的目的不仅是帮助你了解流的含义,还会告诉你为什么流在未来一定会有所成就。我将从一个不同寻常的介绍开始:在我们未来十年内,一篇假设性的科技期刊文章,这里所描述的故事将为你提供一些流的背景,以及它将如何推动未来十年的变革。
第1 章将向你介绍流的概念,从它的基本定义到该定义中的关键概念。第2章将说明为什么企业、政府、非营利组织和许多其他机构会在流出现时接受它。在第3 章中,我将使用沃德利地图和允诺理论来说明为什么流几乎肯定会发生,以及流系统的关键组件可能是什么。
第4 章调查了当今可用的消息传递和事件驱动架构,它们将指导或构成未来流系统的基础。在此基础上以及我们在第3 章中定义的沃德利地图,第5 章将讨论未来需要哪些关键创新来支持真正的流系统。第6 章总结了讨论的内容,概述了你今天可以做哪些事情来为未来的流做准备,并如何帮助实现这个未来。
排版约定
本书使用了下述排版约定。
斜体(Italic)
表示新术语、URL、电子邮件地址、文件名和扩展名。
等宽字体(Constant Width)
表示程序片段,以及正文中出现的变量、函数名、数据库、数据类型、环境变量、语句和关键字等。
OReilly 在线学习平台(OReilly Online Learning)
近40 年来,OReilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。OReilly 的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及OReilly 和200 多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问http://oreilly.com。
联系我们
请把对本书的评价和问题发给出版社。
美国:
OReilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
我们为本书提供了一个网页,其中列出了勘误表、示例和任何其他信息。你可以通过https://oreil.ly/flow-arch 访问此页面。
如果你对本书有一些评论或技术上的建议,请发送电子邮件到 errata@oreilly.com。
要了解OReilly 图书、培训课程、会议和新闻的更多信息,请访问我们的网站,地址是:http://www.oreilly.com。
我们的Facebook:http://facebook.com/oreilly。
我们的Twitter:http://twitter.com/oreillymedia。
我们的Youtube:http://www.youtube.com/oreillymedia。
致谢
我要感谢很多人,感谢你将要阅读本书时萌生出的见解和分析。我将从两位伟大的思想家开始,他们是我在过去的15 年里有幸认识并经常交谈的人。沃德利地图的创建者Simon Wardley 创造了商业或技术战略中最令人惊叹的态势感知工具之一。注1 允诺理论(Promise Theory)的创造者MarkBurgess 提供了一个研究意图的代数,完美地支持了沃德利地图,而它本身也是一个强大的分析工具。对于他们两人,我不仅要感谢他们在本书中的贡献,还要感谢他们对我进行战略分析方面的教育。
这本书由一群具有远见的技术专家和企业家组成的全明星集合进行了评论。Derek Collison 创建了NATS.io,并且是Synadia 的创始人,该公司致力于改变事件驱动集成的管理方式。Simon Crosby 创建了Xen 虚拟机管理程序,并继续创建了Swim.ai,它提供了一个可能改变游戏规则的有状态事件处理平台。Paul Butterworth 创立了Forte Software,我就是在这家技术供应商开始学习分布式系统的,现在他是事件驱动开发平台Vantiq 的联合创始人。Adrian Cockcroft 先是在Netflix 担任首席云架构师,后来又在AWS 担任战略副总裁。我对他们四人在过去一年中所作的不懈努力和提出的建议深表感谢。
微软首席消息架构Clemens Vassars,值得一提的是,他介绍了如何选择事件处理架构,并为我提供了向你描述该架构所需的语言。
Strategic News Servic 的首席执行官Mark Anderson 分享了他对流和其互动之间关系的见解。多年来,我与Mark 的谈话极大地影响了我对流的看法。
我还要感谢为本书的各个方面做出贡献的其他一些技术专家,包括Jesse Bean、Mark Heckler、Stacey Higgenbotham、Sutha Kamal、Mark Kropf、Richard Seroter、Jason Shephard、Sina Sojoodi、Henrivanden Bulk 和James Watters。
感谢我在Pivotal/VMware 的现任和前任同事,特别是我在Field CxO 团队的同事,感谢你们的支持和鼓励。你们太棒了,在我需要的时候,你们让我很容易就能专注于工作。我从你们每一个人身上学到了关于技术和管理的重要经验。
对于我的导师,伟大的Tom Lounibos,我再次对你的鼓励、建议和偶尔的批评表示最深切的感谢。
如果没有OReilly 的编辑Amelia Blevins,这本书是不可能完成的。Amelia,你的耐心令人难以置信,你的建议一直是我最需要的。谢谢你!还要感谢Ryan Shaw 和Mike Loukides 鼓励我写作。特别感谢Tim OReilly 提供的美味的茶和烤饼,以及在正确的时间提出正确的问题。
最后,也是最重要的,献给我的妻子Mia 和我的孩子Owen 和Emery。你一直陪伴着我,在我需要动力时鼓励我,推动我。没有一天我不感谢生活给予我的一切,感谢我们分享的爱和欢笑。我深深地爱着你们。Mia,你是我的最爱。
JamesUrquhart是VMware公司的全球首席技术官。他拥有超过25年的分布式系统开发和部署经验。专注于复杂的自适应系统软件、云本地应用程序、平台和自动化。James被MITTechnologyReview和HuffPost评为云计算领域十大最具影响力的人物之一。
目录
序 .1
前言 .5
第0 章 万维流的十年影响 11
0.1 金融中的万维流 12
0.2 零售业中的万维流 13
0.3 运输业的万维流 13
0.4 医疗健康中的万维流 . 14
0.5 数据服务中的万维流 . 16
0.6 并不是一切都那么顺利 16
0.7 万维流的未来 19
第1 章 流概述 21
1.1 什么是流? . 23
1.2 流与集成 26
1.3 流和事件驱动架构 30
1.4 流的前身 32
1.5 代码和流 34
1.6 后续章节 36
第2 章 流的业务案例 .38
2.1 采用流的驱动因素 39
2.1.1 提升客户体验 39
2.1.2 提高组织效率 41
2.1.3 创新和实验 46
2.2 采用流的促成因素 48
2.2.1 降低流处理的成本 . 49
2.2.2 增加数据流设计的灵活性 . 52
2.2.3 创造巨大的流生态系统 57
2.3 企业需要从流中获得什么 59
2.4 采用流的影响 61
2.4.1 拓展实时数据的使用 61
2.4.2 流网络的重要性(和危险) . 62
2.4.3 流对工作和专业技能的影响 . 64
2.4.4 流、新业务和制度模式 66
2.4.5 流和规模. 68
2.5 下一步 70
第3 章 了解流的价值链 71
3.1 回顾:流的高级属性 . 71
3.2 沃德利地图和允诺理论 73
3.2.1 沃德利地图 73
3.2.2 允诺理论. 75
3.3 构建一个流集成的价值链 78
3.3.1 建立地图的范围 . 78
3.3.2 建立我们的用户和用户需求 . 79
3.3.3 流集成组件 81
3.3.4 交互组件. 84
3.3.5 最后一块. 88
3.4 绘制我们的价值链 90
3.4.1 确定技术演进的衡量标准 . 90
3.4.2 将我们的价值链变成地图 . 95
3.5 我们的最终模型和后续步骤 101
第4 章 评估当前的流市场 . 102
4.1 服务总线和消息队列 103
4.1.1 消息队列 104
4.1.2 服务总线 105
4.1.3 映射服务总线和消息队列 107
4.2 物联网 108
4.2.1 MQTT 109
4.2.2 HTTP 和WebSocket 112
4.2.3 映射物联网架构 113
4.3 事件处理 113
4.3.1 函数、低代码和无代码处理器 . 114
4.3.2 基于日志的流处理平台 117
4.3.3 有状态的流处理 119
4.3.4 映射事件处理平台 120
4.4 当今的流架构和集成 120
4.5 下一步 123
第5 章 评估流的兴起 124
5.1 将演变映射到流 125
5.2 游戏 . 128
5.2.1 市场:标准游戏 130
5.2.2 加速器:利用网络效应 131
5.2.3 生态系统:共创 132
5.2.4 其他 133
5.3 惯性 . 134
5.3.1 供应商惯性 . 135
5.3.2 企业惯性 137
5.3.3 有龙出没 138
5.4 流的需求、挑战和机遇 . 140
5.4.1 安全 141
5.4.2 敏捷性 146
5.4.3 及时性 150
5.4.4 可管理性 154
5.4.5 存储性 160
5.4.6 知识产权管制 161
5.5 流模式的挑战与机遇 163
5.5.1 收集器模式 . 163
5.5.2 分发器模式 . 164
5.5.3 信号模式 166
5.5.4 引导者模式 . 168
5.6 意料之外 169
第6 章 建设一个流的未来 . 171
6.1 识别你业务中的流 172
6.1.1 流的用例 173
6.1.2 流建模 185
6.2 流的事件优先用例 . 189
6.2.1 消息VS 事件 . 190
6.2.2 离散事件VS 系列事件 . 194
6.2.3 单一操作VS 工作流 198
6.3 推动流向前 201
6.3.1 推动技术发展 201
6.3.2 推动流网络 . 206
6.4 我们会使流得以实现 210
附录 评估当前流的市场 211