- 了解當(dāng)企業(yè)、政府和其他機構(gòu)通過事件和數(shù)據(jù)流進行整合時,流會帶來哪些好處。
- 通過Wardley Mapping可視化和Promise Theory建模了解流集成的價值鏈。
- 了解當(dāng)今事件驅(qū)動系統(tǒng)市場背后的基本概念。
- 了解當(dāng)今的集成模式將如何影響未來的實時事件流。
- 探索為什么公司應(yīng)該從今天開始構(gòu)建軟件架構(gòu),以便在未來幾年從流中獲得收益。
現(xiàn)在的軟件開發(fā)正在擁抱事件和流數(shù)據(jù),這不僅優(yōu)化了技術(shù)交互的方式,也優(yōu)化了業(yè)務(wù)相互集成的方式,以滿足客戶的需求,這種現(xiàn)象被稱為流,由模式和標(biāo)準(zhǔn)組成。這些模式和標(biāo)準(zhǔn)確定了各方之間通過互聯(lián)網(wǎng)進行的通信活動和相關(guān)數(shù)據(jù)。
本書探討了這種演變的關(guān)鍵影響:當(dāng)事件和數(shù)據(jù)流幫助你發(fā)現(xiàn)新的活動來源以增強現(xiàn)有業(yè)務(wù)或推動新市場時,究竟會發(fā)生什么?哪些技術(shù)和架構(gòu)模式可以幫助你的公司把握流程帶來的機會?JamesUrquhart是VMware全球CTO。他指導(dǎo)企業(yè)架構(gòu)師、軟件開發(fā)人員和產(chǎn)品經(jīng)理完成這一過程。
前言
這是一本關(guān)于軟件集成的前景及其對經(jīng)濟過程演變的影響的書。本書旨在讓技術(shù)人員和決策者踏上通往未來愿景的旅程,看到我們以及機構(gòu)之間合作方式的根本性轉(zhuǎn)變。因此,它也是一本關(guān)于機遇的書。
從表面上看,這似乎是一本關(guān)于科技的書。我們當(dāng)然會調(diào)查當(dāng)前或在不久的將來可用的、有助于組織之間活動交流方式的技術(shù)。然而,你應(yīng)該從這本書中獲得的最重要的概念是新技術(shù)對機構(gòu)合作與協(xié)作演變的影響。
系統(tǒng)狀態(tài)這種流暢且實時的通信像極了河流中的水流,又或是公路系統(tǒng)中的交通流,它是一種活動流。可用的活動類型和希望使用它們的實體的訴求決定了這種流所遵循的路徑。數(shù)據(jù)越容易找到通向正確實體的正確路徑,系統(tǒng)就越容易適應(yīng)和發(fā)現(xiàn)所需的行為。
因為數(shù)據(jù)是推動經(jīng)濟活動的動力,所以集成是我們數(shù)字經(jīng)濟發(fā)展的關(guān)鍵。如今,跨組織邊界的集成既昂貴又緩慢。我們極大地依賴人為活動、歷史數(shù)據(jù)和海量數(shù)據(jù)處理來確保我們的市場運轉(zhuǎn)和機構(gòu)運營。那么,問題就變成了,如果我們能夠使得數(shù)據(jù)實時交互變得相對便宜,并且?guī)缀跛查g就能完成呢?
隨著我在本書中所描述的技術(shù)的發(fā)展,在互聯(lián)網(wǎng)上連接因果關(guān)系事物的成本很快就會大大降低。反之,這將導(dǎo)致組織執(zhí)行的集成數(shù)量急劇增長,并加速經(jīng)濟實驗的過程。這些都是導(dǎo)致寒武紀(jì)大爆發(fā)的條件,某種意義上說,這是一個充滿活力的土壤,可以產(chǎn)生戲劇性的全新解決方案,改變世界的運行方式。我將論證為什么爆炸是不可避免的。就像HTTP 創(chuàng)建了萬維網(wǎng)并鏈接了世界的信息一樣,我所說的流將創(chuàng)建萬維流并鏈接世界的活動。從很多方面來說,這是一本具有挑戰(zhàn)性的書。其中最重要的是它的大部分內(nèi)容都是推測性的。任何的萬維流技術(shù)被視為主流可能還需要十年時間;蛟S還需要三到五年的時間,才能出現(xiàn)強有力的競爭者為實驗提供了必要的編程接口和數(shù)據(jù)協(xié)議。那么為什么現(xiàn)在寫這本書呢?
答案在于從今天之前數(shù)十年的分布式系統(tǒng)發(fā)展中吸取的經(jīng)驗教訓(xùn)。作為一個全球技術(shù)社區(qū),我們更容易忽視擺在我們面前的可能性,專注于如何逐步改善我們今天所了解的世界,而不是為明天的混亂做準(zhǔn)備。這有一個很好的理由:我們都沒有水晶球。
但是,我們確實有工具可以讓我們深入了解可能發(fā)生的總體趨勢。我們可以明智地分析技術(shù)格局和用戶需求,以找到可能發(fā)生演變或革命的地方。我將使用其中的兩個(沃德利地圖和允諾理論),來演示流程需要哪些組件,以及為什么這些組件會從現(xiàn)在的形式演變?yōu)橐环N鼓勵無處不在的事件驅(qū)動集成的形式。
云計算讓許多組織措手不及,從而導(dǎo)致競爭對手獲得優(yōu)勢或錯失完成任務(wù)的機會。我寫這本書的目的不僅是幫助你了解流的含義,還會告訴你為什么流在未來一定會有所成就。我將從一個不同尋常的介紹開始:在我們未來十年內(nèi),一篇假設(shè)性的科技期刊文章,這里所描述的故事將為你提供一些流的背景,以及它將如何推動未來十年的變革。
第1 章將向你介紹流的概念,從它的基本定義到該定義中的關(guān)鍵概念。第2章將說明為什么企業(yè)、政府、非營利組織和許多其他機構(gòu)會在流出現(xiàn)時接受它。在第3 章中,我將使用沃德利地圖和允諾理論來說明為什么流幾乎肯定會發(fā)生,以及流系統(tǒng)的關(guān)鍵組件可能是什么。
第4 章調(diào)查了當(dāng)今可用的消息傳遞和事件驅(qū)動架構(gòu),它們將指導(dǎo)或構(gòu)成未來流系統(tǒng)的基礎(chǔ)。在此基礎(chǔ)上以及我們在第3 章中定義的沃德利地圖,第5 章將討論未來需要哪些關(guān)鍵創(chuàng)新來支持真正的流系統(tǒng)。第6 章總結(jié)了討論的內(nèi)容,概述了你今天可以做哪些事情來為未來的流做準(zhǔn)備,并如何幫助實現(xiàn)這個未來。
排版約定
本書使用了下述排版約定。
斜體(Italic)
表示新術(shù)語、URL、電子郵件地址、文件名和擴展名。
等寬字體(Constant Width)
表示程序片段,以及正文中出現(xiàn)的變量、函數(shù)名、數(shù)據(jù)庫、數(shù)據(jù)類型、環(huán)境變量、語句和關(guān)鍵字等。
OReilly 在線學(xué)習(xí)平臺(OReilly Online Learning)
近40 年來,OReilly Media 致力于提供技術(shù)和商業(yè)培訓(xùn)、知識和卓越見解,來幫助眾多公司取得成功。
我們擁有獨一無二的專家和革新者組成的龐大網(wǎng)絡(luò),他們通過圖書、文章、會議和我們的在線學(xué)習(xí)平臺分享他們的知識和經(jīng)驗。OReilly 的在線學(xué)習(xí)平臺允許你按需訪問現(xiàn)場培訓(xùn)課程、深入的學(xué)習(xí)路徑、交互式編程環(huán)境,以及OReilly 和200 多家其他出版商提供的大量文本和視頻資源。有關(guān)的更多信息,請訪問http://oreilly.com。
聯(lián)系我們
請把對本書的評價和問題發(fā)給出版社。
美國:
OReilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中國:
北京市西城區(qū)西直門南大街2號成銘大廈C座807室(100035)
奧萊利技術(shù)咨詢(北京)有限公司
我們?yōu)楸緯峁┝艘粋網(wǎng)頁,其中列出了勘誤表、示例和任何其他信息。你可以通過https://oreil.ly/flow-arch 訪問此頁面。
如果你對本書有一些評論或技術(shù)上的建議,請發(fā)送電子郵件到 errata@oreilly.com。
要了解OReilly 圖書、培訓(xùn)課程、會議和新聞的更多信息,請訪問我們的網(wǎng)站,地址是:http://www.oreilly.com。
我們的Facebook:http://facebook.com/oreilly。
我們的Twitter:http://twitter.com/oreillymedia。
我們的Youtube:http://www.youtube.com/oreillymedia。
致謝
我要感謝很多人,感謝你將要閱讀本書時萌生出的見解和分析。我將從兩位偉大的思想家開始,他們是我在過去的15 年里有幸認(rèn)識并經(jīng)常交談的人。沃德利地圖的創(chuàng)建者Simon Wardley 創(chuàng)造了商業(yè)或技術(shù)戰(zhàn)略中最令人驚嘆的態(tài)勢感知工具之一。注1 允諾理論(Promise Theory)的創(chuàng)造者MarkBurgess 提供了一個研究意圖的代數(shù),完美地支持了沃德利地圖,而它本身也是一個強大的分析工具。對于他們兩人,我不僅要感謝他們在本書中的貢獻,還要感謝他們對我進行戰(zhàn)略分析方面的教育。
這本書由一群具有遠(yuǎn)見的技術(shù)專家和企業(yè)家組成的全明星集合進行了評論。Derek Collison 創(chuàng)建了NATS.io,并且是Synadia 的創(chuàng)始人,該公司致力于改變事件驅(qū)動集成的管理方式。Simon Crosby 創(chuàng)建了Xen 虛擬機管理程序,并繼續(xù)創(chuàng)建了Swim.ai,它提供了一個可能改變游戲規(guī)則的有狀態(tài)事件處理平臺。Paul Butterworth 創(chuàng)立了Forte Software,我就是在這家技術(shù)供應(yīng)商開始學(xué)習(xí)分布式系統(tǒng)的,現(xiàn)在他是事件驅(qū)動開發(fā)平臺Vantiq 的聯(lián)合創(chuàng)始人。Adrian Cockcroft 先是在Netflix 擔(dān)任首席云架構(gòu)師,后來又在AWS 擔(dān)任戰(zhàn)略副總裁。我對他們四人在過去一年中所作的不懈努力和提出的建議深表感謝。
微軟首席消息架構(gòu)Clemens Vassars,值得一提的是,他介紹了如何選擇事件處理架構(gòu),并為我提供了向你描述該架構(gòu)所需的語言。
Strategic News Servic 的首席執(zhí)行官Mark Anderson 分享了他對流和其互動之間關(guān)系的見解。多年來,我與Mark 的談話極大地影響了我對流的看法。
我還要感謝為本書的各個方面做出貢獻的其他一些技術(shù)專家,包括Jesse Bean、Mark Heckler、Stacey Higgenbotham、Sutha Kamal、Mark Kropf、Richard Seroter、Jason Shephard、Sina Sojoodi、Henrivanden Bulk 和James Watters。
感謝我在Pivotal/VMware 的現(xiàn)任和前任同事,特別是我在Field CxO 團隊的同事,感謝你們的支持和鼓勵。你們太棒了,在我需要的時候,你們讓我很容易就能專注于工作。我從你們每一個人身上學(xué)到了關(guān)于技術(shù)和管理的重要經(jīng)驗。
對于我的導(dǎo)師,偉大的Tom Lounibos,我再次對你的鼓勵、建議和偶爾的批評表示最深切的感謝。
如果沒有OReilly 的編輯Amelia Blevins,這本書是不可能完成的。Amelia,你的耐心令人難以置信,你的建議一直是我最需要的。謝謝你!還要感謝Ryan Shaw 和Mike Loukides 鼓勵我寫作。特別感謝Tim OReilly 提供的美味的茶和烤餅,以及在正確的時間提出正確的問題。
最后,也是最重要的,獻給我的妻子Mia 和我的孩子Owen 和Emery。你一直陪伴著我,在我需要動力時鼓勵我,推動我。沒有一天我不感謝生活給予我的一切,感謝我們分享的愛和歡笑。我深深地愛著你們。Mia,你是我的最愛。
JamesUrquhart是VMware公司的全球首席技術(shù)官。他擁有超過25年的分布式系統(tǒng)開發(fā)和部署經(jīng)驗。專注于復(fù)雜的自適應(yīng)系統(tǒng)軟件、云本地應(yīng)用程序、平臺和自動化。James被MITTechnologyReview和HuffPost評為云計算領(lǐng)域十大最具影響力的人物之一。
目錄
序 .1
前言 .5
第0 章 萬維流的十年影響 11
0.1 金融中的萬維流 12
0.2 零售業(yè)中的萬維流 13
0.3 運輸業(yè)的萬維流 13
0.4 醫(yī)療健康中的萬維流 . 14
0.5 數(shù)據(jù)服務(wù)中的萬維流 . 16
0.6 并不是一切都那么順利 16
0.7 萬維流的未來 19
第1 章 流概述 21
1.1 什么是流? . 23
1.2 流與集成 26
1.3 流和事件驅(qū)動架構(gòu) 30
1.4 流的前身 32
1.5 代碼和流 34
1.6 后續(xù)章節(jié) 36
第2 章 流的業(yè)務(wù)案例 .38
2.1 采用流的驅(qū)動因素 39
2.1.1 提升客戶體驗 39
2.1.2 提高組織效率 41
2.1.3 創(chuàng)新和實驗 46
2.2 采用流的促成因素 48
2.2.1 降低流處理的成本 . 49
2.2.2 增加數(shù)據(jù)流設(shè)計的靈活性 . 52
2.2.3 創(chuàng)造巨大的流生態(tài)系統(tǒng) 57
2.3 企業(yè)需要從流中獲得什么 59
2.4 采用流的影響 61
2.4.1 拓展實時數(shù)據(jù)的使用 61
2.4.2 流網(wǎng)絡(luò)的重要性(和危險) . 62
2.4.3 流對工作和專業(yè)技能的影響 . 64
2.4.4 流、新業(yè)務(wù)和制度模式 66
2.4.5 流和規(guī)模. 68
2.5 下一步 70
第3 章 了解流的價值鏈 71
3.1 回顧:流的高級屬性 . 71
3.2 沃德利地圖和允諾理論 73
3.2.1 沃德利地圖 73
3.2.2 允諾理論. 75
3.3 構(gòu)建一個流集成的價值鏈 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 確定技術(shù)演進的衡量標(biāo)準(zhǔn) . 90
3.4.2 將我們的價值鏈變成地圖 . 95
3.5 我們的最終模型和后續(xù)步驟 101
第4 章 評估當(dāng)前的流市場 . 102
4.1 服務(wù)總線和消息隊列 103
4.1.1 消息隊列 104
4.1.2 服務(wù)總線 105
4.1.3 映射服務(wù)總線和消息隊列 107
4.2 物聯(lián)網(wǎng) 108
4.2.1 MQTT 109
4.2.2 HTTP 和WebSocket 112
4.2.3 映射物聯(lián)網(wǎng)架構(gòu) 113
4.3 事件處理 113
4.3.1 函數(shù)、低代碼和無代碼處理器 . 114
4.3.2 基于日志的流處理平臺 117
4.3.3 有狀態(tài)的流處理 119
4.3.4 映射事件處理平臺 120
4.4 當(dāng)今的流架構(gòu)和集成 120
4.5 下一步 123
第5 章 評估流的興起 124
5.1 將演變映射到流 125
5.2 游戲 . 128
5.2.1 市場:標(biāo)準(zhǔn)游戲 130
5.2.2 加速器:利用網(wǎng)絡(luò)效應(yīng) 131
5.2.3 生態(tài)系統(tǒng):共創(chuàng) 132
5.2.4 其他 133
5.3 慣性 . 134
5.3.1 供應(yīng)商慣性 . 135
5.3.2 企業(yè)慣性 137
5.3.3 有龍出沒 138
5.4 流的需求、挑戰(zhàn)和機遇 . 140
5.4.1 安全 141
5.4.2 敏捷性 146
5.4.3 及時性 150
5.4.4 可管理性 154
5.4.5 存儲性 160
5.4.6 知識產(chǎn)權(quán)管制 161
5.5 流模式的挑戰(zhàn)與機遇 163
5.5.1 收集器模式 . 163
5.5.2 分發(fā)器模式 . 164
5.5.3 信號模式 166
5.5.4 引導(dǎo)者模式 . 168
5.6 意料之外 169
第6 章 建設(shè)一個流的未來 . 171
6.1 識別你業(yè)務(wù)中的流 172
6.1.1 流的用例 173
6.1.2 流建模 185
6.2 流的事件優(yōu)先用例 . 189
6.2.1 消息VS 事件 . 190
6.2.2 離散事件VS 系列事件 . 194
6.2.3 單一操作VS 工作流 198
6.3 推動流向前 201
6.3.1 推動技術(shù)發(fā)展 201
6.3.2 推動流網(wǎng)絡(luò) . 206
6.4 我們會使流得以實現(xiàn) 210
附錄 評估當(dāng)前流的市場 211