SOA对微服务的残余影响
近日,Tareq Abedrabbo在倫敦2017 μCon微服務(wù)大會(huì)上說(shuō),SOA對(duì)微服務(wù)架構(gòu)設(shè)計(jì)的殘余影響仍然存在,包括技術(shù)選型和組織方面的問(wèn)題。最直接的一個(gè)例子就是大多數(shù)企業(yè)仍然區(qū)分對(duì)待架構(gòu)師和開(kāi)發(fā)人員,架構(gòu)師負(fù)責(zé)出規(guī)范,開(kāi)發(fā)人員負(fù)責(zé)實(shí)現(xiàn)。
OpenCredo?CTO Abedrabbo在大公司和小公司都工作過(guò),這些公司在向微服務(wù)架構(gòu)遷移的過(guò)程中仍然受到SOA的影響。他在演講中對(duì)SOA和微服務(wù)進(jìn)行了有趣的對(duì)比,不過(guò)他也強(qiáng)調(diào),盡管SOA存在問(wèn)題,但不能把全部責(zé)任都推給SOA。
重用性與變更管理。Abedrabbo認(rèn)為,重用性之所以對(duì)SOA來(lái)說(shuō)十分重要,主要是因?yàn)镾OA缺乏成熟的變更管理工具。服務(wù)一旦部署好了,就不太愿意做出變更,因?yàn)槌杀咎?。而微服?wù)在變更管理方面具有一定的優(yōu)勢(shì),因?yàn)閷?duì)微服務(wù)做出變更的成本要小得多。
集成與組合。SOA架構(gòu)強(qiáng)調(diào)的是集成,客戶端可以向服務(wù)器端發(fā)送任何格式的數(shù)據(jù),包括XML,服務(wù)器端負(fù)責(zé)解析和處理這些數(shù)據(jù)。而在微服務(wù)架構(gòu)里則恰好相反,微服務(wù)注重組合,服務(wù)調(diào)用端需要自己知道如何調(diào)用其他服務(wù)。Abedrabbo對(duì)此總結(jié)說(shuō),集成增加復(fù)雜性,而組合降低復(fù)雜性。
技術(shù)重用與功能重用。SOA注重技術(shù)重用,我們總是希望盡可能多地重用一個(gè)服務(wù),盡管對(duì)服務(wù)做出變更有很大阻力。而微服務(wù)架構(gòu)更注重讓小型的服務(wù)專(zhuān)注于特定的業(yè)務(wù)功能上。
靜態(tài)與動(dòng)態(tài)。SOA需要處理所有的事情,一個(gè)SOAP調(diào)用不僅要處理業(yè)務(wù)邏輯,還要處理安全和事務(wù)方面的問(wèn)題。而微服務(wù)更加動(dòng)態(tài),微服務(wù)生態(tài)系統(tǒng)的不同部分負(fù)責(zé)處理不同的問(wèn)題。
有SOA背景的開(kāi)發(fā)人員在構(gòu)建微服務(wù)時(shí)容易使用反模式,比如分布式單體,他們只是對(duì)一個(gè)邊界進(jìn)行無(wú)機(jī)拆解。對(duì)一個(gè)已有的單體進(jìn)行解耦時(shí),如果不考慮邊界問(wèn)題就很容易犯這個(gè)錯(cuò)。在與遺留系統(tǒng)進(jìn)行集成時(shí)太過(guò)關(guān)注底層的解耦,但沒(méi)有考慮到通信保證、冪等性等因素,這也是很常見(jiàn)的問(wèn)題。這樣的系統(tǒng)只會(huì)增加復(fù)雜性,體現(xiàn)不出微服務(wù)的優(yōu)勢(shì)。
Abedrabbo給出了一些建議用于解決這方面的問(wèn)題:
-
采用領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)。使用微服務(wù)實(shí)現(xiàn)領(lǐng)域邏輯,避免單純地從技術(shù)角度設(shè)計(jì)可重用的微服務(wù)。
-
不要使用規(guī)范的數(shù)據(jù)模型。規(guī)范的數(shù)據(jù)模型只會(huì)阻礙微服務(wù)系統(tǒng)的演化,所以我們應(yīng)該使用局部數(shù)據(jù)視圖。
-
正常化元數(shù)據(jù),并將它們從其他數(shù)據(jù)中分離出來(lái)。
-
使用正確的工具。比如,每個(gè)微服務(wù)都應(yīng)該有自己的數(shù)據(jù)庫(kù)。多個(gè)服務(wù)共享一個(gè)數(shù)據(jù)庫(kù)是一種反模式,不過(guò)如果使用圖數(shù)據(jù)庫(kù)或許會(huì)是個(gè)好辦法。
明年的微服務(wù)大會(huì)將于2018年11月5號(hào)至6號(hào)召開(kāi)。
原文:http://www.infoq.com/cn/news/2017/11/soa-impact-microservices
.NET社區(qū)新聞,深度好文,歡迎訪問(wèn)公眾號(hào)文章匯總 http://www.csharpkit.com
總結(jié)
以上是生活随笔為你收集整理的SOA对微服务的残余影响的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 我心中的ASP.NET Core 新核心
- 下一篇: 协作更进一步:微软隆重介绍Visual