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