![]() ![]() |
重構(gòu)到微服務(wù) 讀者對(duì)象:本書(shū)適合對(duì)微服務(wù)架構(gòu)感興趣的開(kāi)發(fā)人員 ![]()
本書(shū)的主要內(nèi)容有:適合于期望演進(jìn)到微服務(wù),而不是重寫(xiě)的組織。幫助組織決策是否要改造、何時(shí)改造、以及從哪里入手進(jìn)行改造。如何解決遺留系統(tǒng)的通信、集成和遷移問(wèn)題。闡述了若干不同的遷移模式,以及在什么情況下采用這些模式。提供了多種數(shù)據(jù)庫(kù)遷移方法的案例,以及對(duì)應(yīng)的同步機(jī)制。探索了應(yīng)用系統(tǒng)解耦的方法,包括若干架構(gòu)重構(gòu)的模式。深入探討了數(shù)據(jù)庫(kù)解耦的細(xì)節(jié),包括打破參照完整性和事務(wù)完整性的影響,新的失敗模式等。
一句話推薦
單體遺留系統(tǒng)的現(xiàn)代化演進(jìn)之道。本書(shū)旨在從思考和執(zhí)行的維度,深入探討如何將現(xiàn)有系統(tǒng)分解為微服務(wù)架構(gòu)。 編輯推薦 對(duì)于單體系統(tǒng),你是如何來(lái)進(jìn)行梳理并且逐步將它演進(jìn)到微服務(wù)架構(gòu)的呢?你是如何在保證業(yè)務(wù)正常進(jìn)行的同時(shí)來(lái)做這件事的?作為其暢銷著作《Building Microservices》的姊妹篇,這本書(shū)詳細(xì)闡釋了一種從存量的單體應(yīng)用遷移到微服務(wù)架構(gòu)的可行方法。 本書(shū)作為一本改造指南,提供了大量針對(duì)如何將單體應(yīng)用演進(jìn)到微服務(wù)架構(gòu)的實(shí)操建議。書(shū)中包含了大量圖形化的示例、充滿洞見(jiàn)的改造模式、涉及從改造的初始規(guī)劃階段到應(yīng)用系統(tǒng)和數(shù)據(jù)庫(kù)的解耦,涵蓋了許多場(chǎng)景和策略,它們將幫助你實(shí)現(xiàn)成功的改造。你將從本書(shū)中學(xué)到這些經(jīng)過(guò)實(shí)踐檢驗(yàn)過(guò)的模式和技巧。在改造過(guò)程,你一定會(huì)發(fā)現(xiàn)它們非常有價(jià)值。 專家推薦 “在這本書(shū)中,本書(shū)作者為微服務(wù)改造定義了清晰的愿景,并且向你展示了在改造過(guò)程中需要注意哪些‘坑’(既有很明顯的,也有一些比較隱蔽的)。同時(shí),本書(shū)也提供了很多組織革新、架構(gòu)革新、技術(shù)革新方面非常有用的參考模式! ——Daniel Bryant DataWire和InfoQ的技術(shù)顧問(wèn)
前言幾年前,我們當(dāng)中的一些人還在討論微服務(wù)是一個(gè)有趣的想法。后來(lái)的事情你已經(jīng)知道了,它已經(jīng)成為全球數(shù)以百計(jì)的公司的默認(rèn)軟件架構(gòu)(這當(dāng)中有許多初創(chuàng)公司,他們創(chuàng)辦的目的可能是為了解決微服務(wù)引發(fā)的問(wèn)題),并且讓每個(gè)人在跑去跳上這輛馬車的同時(shí),又在擔(dān)心它最終會(huì)消失在地平線上。我必須承認(rèn),造成這種現(xiàn)象,我要承擔(dān)部分的責(zé)任。自從我在2015 年就微服務(wù)寫(xiě)了《Building Microservices》一書(shū)后,我就靠與其他人合作來(lái)幫助人們理解這種架構(gòu)類型而謀生。我一直在努力,打破對(duì)于概念的炒作,而幫助公司決定微服務(wù)是否適合他們。對(duì)于我的許多擁有現(xiàn)有(并非面向微服務(wù)的)存量系統(tǒng)的客戶來(lái)說(shuō),挑戰(zhàn)在于如何采用微服務(wù)架構(gòu)。你如何在不停止所有其他工作的情況下,對(duì)現(xiàn)有系統(tǒng)進(jìn)行重新架構(gòu)?這就是本書(shū)的意義所在。同樣重要的是,我的目標(biāo)是給你一個(gè)對(duì)于微服務(wù)架構(gòu)帶來(lái)的挑戰(zhàn)的誠(chéng)實(shí)的評(píng)估,并幫助你了解開(kāi)始這個(gè)旅程是否適合你。你將學(xué)到什么?本書(shū)旨在從思考和執(zhí)行的維度,深入探討如何將現(xiàn)有系統(tǒng)分解為微服務(wù)架構(gòu)。我們將觸及與微服務(wù)架構(gòu)相關(guān)的許多主題,但重點(diǎn)在拆分事物的方面。有關(guān)微服務(wù)架構(gòu)的通用性指南,我之前的書(shū)《Building Microservices》是一個(gè)不錯(cuò)的開(kāi)始。事實(shí)上,我強(qiáng)烈建議你把那本書(shū)看作是本書(shū)的配套書(shū)籍。第1 章包含了對(duì)什么是微服務(wù)的概述,以及進(jìn)一步探討了導(dǎo)致我們形成這類架構(gòu)的想法。它對(duì)剛接觸微服務(wù)的讀者來(lái)說(shuō)應(yīng)該很有效,但我同樣強(qiáng)烈建議那些有微服務(wù)實(shí)施經(jīng)驗(yàn)的人不要跳過(guò)這一章。我認(rèn)為在技術(shù)發(fā)展的浪潮中,一些重要的微服務(wù)的核心思想常常被忽略。這些是本書(shū)將反復(fù)提到的概念。了解更多關(guān)于微服務(wù)的知識(shí)是好事,但知道它們是否適合你則是另一回事。在第2 章中,我將指導(dǎo)你如何去評(píng)估微服務(wù)是否適合你,并為你提供一些真正重要的指導(dǎo)方針,從而管理從單體架構(gòu)到微服務(wù)架構(gòu)的過(guò)渡過(guò)程。在這章中,我們將觸及從領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)到組織變革模型的所有內(nèi)容。即使你決定不采用微服務(wù)架構(gòu),這些重要的基礎(chǔ)也將使你處于有利地位。在第3 章和第4 章中,我們將深入探討與拆分單體相關(guān)的技術(shù)問(wèn)題。我們會(huì)探索一個(gè)真實(shí)世界的例子,并提取出了遷移的原則。第3 章的重點(diǎn)是應(yīng)用拆分,第4章是深入研究數(shù)據(jù)庫(kù)拆分的技術(shù)。如果你真的想從一個(gè)單體系統(tǒng)轉(zhuǎn)移到一個(gè)微服務(wù)架構(gòu),我們必須要將數(shù)據(jù)庫(kù)拆分開(kāi)來(lái)!第5 章探討了隨著采用微服務(wù)架構(gòu)的推進(jìn)而會(huì)出現(xiàn)的各種挑戰(zhàn)。這些微服務(wù)系統(tǒng)可以帶來(lái)巨大的好處,但同時(shí),許多復(fù)雜的問(wèn)題也會(huì)隨之而來(lái),這些問(wèn)題是你之前從未遇到過(guò)的。在這一章中,我會(huì)幫助你在問(wèn)題開(kāi)始出現(xiàn)時(shí)就能及時(shí)發(fā)現(xiàn)它們,并會(huì)提供處理微服務(wù)帶來(lái)的痛點(diǎn)難點(diǎn)的相關(guān)方法。O’Reilly 在線學(xué)習(xí)平臺(tái)(O’Reilly Online Learning)近40 年來(lái),O’Reilly Media 致力于提供技術(shù)和商業(yè)培訓(xùn)、知識(shí)和卓越見(jiàn)解,來(lái)幫助眾多公司取得成功。公司獨(dú)有的專家和改革創(chuàng)新者網(wǎng)絡(luò)通過(guò)O’Reilly 書(shū)籍、文章以及在線學(xué)習(xí)平臺(tái),分享他們的專業(yè)知識(shí)和實(shí)踐經(jīng)驗(yàn)。O’Reilly 在線學(xué)習(xí)平臺(tái)按照您的需要提供實(shí)時(shí)培訓(xùn)課程、深入學(xué)習(xí)渠道、交互式編程環(huán)境以及來(lái)自O(shè)’Reilly 和其他200 多家出版商的大量書(shū)籍與視頻資料。更多信息,請(qǐng)?jiān)L問(wèn)網(wǎng)站:https://www.oreilly.com/。聯(lián)系我們?nèi)魏斡嘘P(guān)本書(shū)的意見(jiàn)或疑問(wèn),請(qǐng)按照以下地址聯(lián)系出版社。美國(guó):O’Reilly Media, Inc.1005 Gravenstein Highway NorthSebastopol, CA 95472中國(guó):北京市西城區(qū)西直門(mén)南大街2 號(hào)成銘大廈C 座807 室(100035)奧萊利技術(shù)咨詢(北京)有限公司我們?yōu)檫@本書(shū)建立了一個(gè)網(wǎng)頁(yè),在那里我們列出了勘誤表、樣例和任何其他信息。你可以訪問(wèn)這個(gè)頁(yè)面來(lái)獲取這些信息:https://oreil.ly/monolith-to-microservices。請(qǐng)發(fā)送電子郵件至:errata@oreilly.com.cn,來(lái)對(duì)本書(shū)進(jìn)行評(píng)論或提出技術(shù)問(wèn)題。關(guān)于我們的書(shū)籍、課程、會(huì)議和新聞的更多信息,請(qǐng)見(jiàn)我們的網(wǎng)站:http://www.oreilly.com。我們的Facebook:http://facebook.com/oreilly。我們的Twitter:http://twitter.com/oreillymedia。我們的YouTube:http://www.youtube.com/oreillymedia。鳴謝如果沒(méi)有我出色的妻子Lindy Stephens 的幫助和理解,這本書(shū)是不可能完成的。這本書(shū)是為她而寫(xiě)的。Lindy,很抱歉在各種截止日期來(lái)來(lái)去去時(shí),我是如此的脾氣暴躁。我還要感謝可愛(ài)的吉爾曼·斯德恩家族的所有支持,我很幸運(yùn),有這樣一個(gè)美好的家庭。本書(shū)極大地受益于那些自愿付出時(shí)間和精力去閱讀各種草稿并提供寶貴見(jiàn)解的人們。我特別想感謝Chris O’Dell, Daniel Bryant, Pete Hodgson, Martin Fowler,Stefan Schrass 和Derek Hammer 在這方面所付出的努力。還有一些人以多種方式做出了他們的貢獻(xiàn),因此我還要感謝Graham Tackley, Erik Doernenberg,Marcin Zasepa, Michael Feathers, Randy Shoup, Kief Morris, Peter Gillard-Moss,Matt Heath, Steve Freeman, Rene Lengwinat, Sarah Wells, Rhys Evans 和Berke Sokhan。如果你在本書(shū)中發(fā)現(xiàn)錯(cuò)誤,這些錯(cuò)誤是我的,不是他們的。O’Reilly 的團(tuán)隊(duì)也給予了我極大的支持,我想重點(diǎn)感謝我的編輯Eleanor Bru和Alicia Young,此外還有Christopher Guzikowski, Mary Treseler 和Rachel Roumeliotis。我還想對(duì)Helen Codling 和她在世界其他地方的同事說(shuō)一聲感謝,感謝他們繼續(xù)帶著我的書(shū)去參加各種會(huì)議,感謝Susan Conant 在不斷變化的出版世界中讓我保持清醒,感謝Mike Loukides 最初讓我參與奧萊利。我知道還有很多人在幕后幫助我,所以也要感謝你們所有人。除了那些直接為本書(shū)做出貢獻(xiàn)的人之外,我還想鳴謝其他一些人,不管他們是否意識(shí)到,他們都為本書(shū)的誕生做出了貢獻(xiàn)。因此,我想感謝(排名不分先后):Martin Kelppmann, Ben Stopford, Charity Majors, Alistair Cockburn, Gregor Hohpe,Bobby Woolf, Eric Evans, Larry Constantine, Leslie Lamport, Edward Yourdon,David Parnas, Mike Bland, David Woods, John Allspaw,Alberto Brandolini, Frederick Brooks, Cindy Sridharan, Dave Farley, Jez Humble, Gene Kim, James Lewis, Nicole Forsgren, Hector Garcia-Molina, Sheep &Cheese, Kenneth Salem, Adrian Colyer,Pat Helland, Kresten Thorup, Henrik Kniberg, Anders Ivarsson, Manuel Pais, Steve Smith, Bernd Rucker, Matthew Skelton, Alexis Richardson, James Governor 和Kane Stephens。與通常情況一樣,我很可能漏掉了某些對(duì)這本書(shū)做出巨大貢獻(xiàn)的人。對(duì)于這些人,我只能說(shuō)很抱歉忘記了感謝你,希望你能原諒我。最后,有些人時(shí)不時(shí)地問(wèn)我寫(xiě)這本書(shū)時(shí)使用的工具。我使用Visual Studio Code和Jo?o Pinto 的AsciiDoc 插件在AsciiDoc 中寫(xiě)作。這本書(shū)是用Git 進(jìn)行源代碼控制的,使用O’Reilly 的Atlas 系統(tǒng)。我主要在我的筆記本電腦上寫(xiě)作,使用外部的Razer 機(jī)械鍵盤(pán),但在最后也大量使用了運(yùn)行工作副本的iPad Pro 來(lái)完成最后幾項(xiàng)工作。這使我能夠在旅行中寫(xiě)作,有一次,我在去奧克尼群島的渡輪上寫(xiě)了關(guān)于數(shù)據(jù)庫(kù)重構(gòu)的文章,這個(gè)經(jīng)歷令人難忘。而由此產(chǎn)生的暈船癥狀是完全值得的。
作者介紹經(jīng)歷了幾個(gè)創(chuàng)業(yè)公司,并在Thoughtworks工作了12年之后,目前Sam Newman是一位獨(dú)立顧問(wèn)。他專注于微服務(wù)、云技術(shù)、以及持續(xù)交付方面。通過(guò)培訓(xùn)和技術(shù)咨詢服務(wù),Sam幫助分布在全球的客戶實(shí)現(xiàn)更快且更可靠的軟件交付。他是經(jīng)驗(yàn)豐富的演講者,曾在全球多個(gè)大會(huì)上發(fā)表演講。同時(shí),他也是O’Reilly出版的《Building Microservices》一書(shū)的作者。譯者介紹王威,Thoughtworks總監(jiān)級(jí)咨詢師,知樸咨詢創(chuàng)始人,DDD中國(guó)社區(qū)聯(lián)合創(chuàng)始人,Cynefin框架培訓(xùn)講師,微服務(wù)架構(gòu)、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)、遺留系統(tǒng)重構(gòu)的實(shí)踐者。梅雪松,Thoughtworks總監(jiān)級(jí)咨詢師,遺留系統(tǒng)現(xiàn)代化服務(wù)負(fù)責(zé)人,微服務(wù)架構(gòu)、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)、遺留系統(tǒng)重構(gòu)的實(shí)踐者。姚琪琳,Thoughtworks專家級(jí)咨詢師,遺留系統(tǒng)現(xiàn)代化服務(wù)負(fù)責(zé)人,極客時(shí)間《遺留系統(tǒng)現(xiàn)代化實(shí)戰(zhàn)》專欄作者,技術(shù)書(shū)籍譯者。
前言 1
你還可能感興趣
我要評(píng)論
|