『高級(jí)篇』docker容器來說微服務(wù)優(yōu)勢(shì)和不足(四)-創(chuàng)新互聯(lián)

原創(chuàng)文章,歡迎轉(zhuǎn)載。轉(zhuǎn)載請(qǐng)注明:轉(zhuǎn)載自IT人故事會(huì),謝謝!
原文鏈接地址:『高級(jí)篇』docker容器來說微服務(wù)優(yōu)勢(shì)和不足(四)

創(chuàng)新互聯(lián)主營陽原網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),陽原h(huán)5小程序制作搭建,陽原網(wǎng)站營銷推廣歡迎陽原等地區(qū)企業(yè)咨詢

來看看微服務(wù)有哪些優(yōu)勢(shì)和不足。

優(yōu)勢(shì)

  • 獨(dú)立性

    從構(gòu)建部署,擴(kuò)容收容,容錯(cuò),數(shù)據(jù)庫都是單獨(dú)管理的。每個(gè)服務(wù)之間都是單獨(dú)管理。一個(gè)微服務(wù)出現(xiàn)問題,只會(huì)影響他自己。并不會(huì)影響整個(gè)服務(wù)。每個(gè)都獨(dú)立的數(shù)據(jù)庫。

  • 敏捷性

    對(duì)于使用者來說微服務(wù)暴露的接口相對(duì)簡(jiǎn)單,因?yàn)樗麄兊墓δ芏己軉我?,清晰的api,同時(shí)也可以很快的應(yīng)對(duì)變化,針對(duì)新需求很快的找到需要修改的微服務(wù),去修改就可以。

  • 技術(shù)棧靈活

    api接口不變就可以了,服務(wù)重構(gòu)。

  • 高效團(tuán)隊(duì)

    每個(gè)團(tuán)隊(duì)只負(fù)責(zé)自己的微服務(wù),做些架構(gòu)調(diào)整,架構(gòu)變化,幾個(gè)人開個(gè)小會(huì)就可以了。

不足

沒有最好的架構(gòu),只有最適合的。

  • 額外的工作

    服務(wù)的拆分,其實(shí)服務(wù)的拆分是一門非常深的學(xué)問。

  • 數(shù)據(jù)的一致性

    單體一個(gè)數(shù)據(jù)庫,很容易做到一致性,微服務(wù)都有自己的服務(wù),雖然我們?cè)谖⒎?wù)盡量減少連表操作,盡量在同一個(gè)微服務(wù),也難免出現(xiàn)這樣或者那樣的關(guān)聯(lián)關(guān)系。

  • 溝通成本

    api的改變,單體架構(gòu)中,想改一個(gè)接口可以將調(diào)用這個(gè)接口的地方順便改掉,但是在微服務(wù)中,你想改的地方不是你負(fù)責(zé),推動(dòng)其他人其他組來修改。如果其他人或者其他組比較多的溝通成本就很明白了。

了解DDD(領(lǐng)域驅(qū)動(dòng)設(shè)計(jì))

  • 軟件開發(fā) VS DDD

    一般軟件設(shè)計(jì)或者說軟件開發(fā)分兩種:瀑布式,敏捷式。

  • 前者一般是項(xiàng)目經(jīng)理經(jīng)過大量的業(yè)務(wù)分析后,會(huì)基于現(xiàn)有需求整理出一個(gè)基本模型,再將結(jié)果傳遞給開發(fā)人員,這就是開發(fā)人員的需求文檔,他們只需要照此開發(fā)便是。這種模式下,是很難頻繁的從用戶那里得到反饋,因此在前期分析時(shí)就已經(jīng)默認(rèn)了這個(gè)業(yè)務(wù)模型是正確的,那么結(jié)果可想而之,數(shù)月甚至數(shù)年后交付的時(shí)候,必然和客戶的預(yù)期差距較大。

  • 后者在此基礎(chǔ)上進(jìn)行了改進(jìn),它也需要大量的分析,范圍會(huì)設(shè)計(jì)到更精細(xì)的業(yè)務(wù)模塊,它是小步迭代,周期×××付,那么獲取客戶的反饋也就比較頻繁和及時(shí)??擅艚菀膊荒軌?qū)I(yè)務(wù)中的方方面面都考慮到,并且敏捷是擁抱變化的,大量的需求或者業(yè)務(wù)模型變更必將帶來不小的維護(hù)成本,同時(shí),對(duì)人(Developer)的要求也必然會(huì)更高。

  • DDD則不同:它像是更小粒度的迭代設(shè)計(jì),它的最小單元是領(lǐng)域模型(Domain Model),所謂領(lǐng)域模型就是能夠精確反映領(lǐng)域中某一知識(shí)元素的載體,這種知識(shí)的獲取需要通過與領(lǐng)域?qū)<?Domain Expert)進(jìn)行頻繁的溝通才能將專業(yè)知識(shí)轉(zhuǎn)化為領(lǐng)域模型。領(lǐng)域模型無關(guān)技術(shù),具有高度的業(yè)務(wù)抽象性,它能夠精確的描述領(lǐng)域中的知識(shí)體系;同時(shí)它也是獨(dú)立的,我們還需要學(xué)會(huì)如何讓它具有表達(dá)性,讓模型彼此之間建立關(guān)系,形成完整的領(lǐng)域架構(gòu)。通常我們可以用象形圖或一種通用的語言(Ubiquitous Language)去描述它們之間的關(guān)系。在此之上,我們就可以進(jìn)行領(lǐng)域中的代碼設(shè)計(jì)(Domain Code Design)。如果將軟件設(shè)計(jì)比做是造一座房子,那么領(lǐng)域代碼設(shè)計(jì)就好比是貼壁紙。前者已經(jīng)將房子的藍(lán)圖框架規(guī)劃好,而后者只是一個(gè)小部分的設(shè)計(jì):如果墻紙貼錯(cuò)了,我們可以重來,可如果房子結(jié)構(gòu)設(shè)計(jì)錯(cuò)了,那可就悲劇了。

PS:微服務(wù)的要求是分析的足夠小的顆粒,項(xiàng)目分析的透徹。

『高級(jí)篇』docker容器來說微服務(wù)優(yōu)勢(shì)和不足(四)

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

分享文章:『高級(jí)篇』docker容器來說微服務(wù)優(yōu)勢(shì)和不足(四)-創(chuàng)新互聯(lián)
地址分享:http://muchs.cn/article46/cddohg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)公司、服務(wù)器托管、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)