摘要:而微服務(wù)將這個(gè)理念應(yīng)用在獨(dú)立的服務(wù)上。微服務(wù)對(duì)比與原來(lái)的單體應(yīng)用,有它的優(yōu)勢(shì),如服務(wù)的自治性增強(qiáng)但同時(shí)也會(huì)帶來(lái)一些其他問(wèn)題,如性能復(fù)雜度等問(wèn)題。想要使用微服務(wù),首先是要清楚哪些業(yè)務(wù)或者功能應(yīng)該成為多帶帶的服務(wù)。其次,考慮業(yè)務(wù)極有可能的變化。
1、在學(xué)習(xí)軟件構(gòu)造、設(shè)計(jì)相關(guān)知識(shí)時(shí),大家應(yīng)該有學(xué)習(xí)到內(nèi)聚性的概念:即把因相同原因而變化的東西聚合到一起,而把因不同原因而變化的東西分離開(kāi)來(lái)。而
微服務(wù)將這個(gè)理念應(yīng)用在獨(dú)立的服務(wù)上。根據(jù)業(yè)務(wù)的邊界來(lái)確定服務(wù)的邊界,這樣就很容 易確定某個(gè)功能代碼應(yīng)該放在哪里。
我個(gè)人覺(jué)得,微服務(wù)就是將原來(lái)的單體應(yīng)用安裝功能進(jìn)行切分,然后各個(gè)服務(wù)之間通過(guò)通信(跨進(jìn)程、跨機(jī)器)來(lái)共同完成原來(lái)的單體應(yīng)用所提供的功能。
微服務(wù)對(duì)比與原來(lái)的單體應(yīng)用,有它的優(yōu)勢(shì),如服務(wù)的自治性增強(qiáng)、但同時(shí)也會(huì)帶來(lái)一些其他問(wèn)題,如性能、復(fù)雜度等問(wèn)題。
2、想要使用微服務(wù),首先是要清楚哪些業(yè)務(wù)或者功能應(yīng)該成為多帶帶的服務(wù)。《微服務(wù)設(shè)計(jì)》一書(shū)中給了一些建議:
當(dāng)你在思考組織內(nèi)的限界上下文時(shí),不應(yīng)該從共享數(shù)據(jù)的角度來(lái)考慮,而應(yīng)該從這些上下 文能夠提供的功能來(lái)考慮。
這個(gè)上下文是做什么用的。
組織結(jié)構(gòu)和軟件架構(gòu)會(huì)互相影響。
當(dāng)然,書(shū)中列出的建議不止這些,我也想談一談我自己的一些想法。
我覺(jué)得首先要從業(yè)務(wù)出發(fā)(多帶帶的基礎(chǔ)服務(wù),例如分布式事務(wù)、數(shù)據(jù)庫(kù)同步服務(wù)例外),這一塊業(yè)務(wù)我們需要實(shí)現(xiàn)怎樣的功能,它在系統(tǒng)中處于什么樣的位置,它需要與哪些服務(wù)進(jìn)行交互(提供接口和消費(fèi)接口)。知道了業(yè)務(wù)功能在整個(gè)系統(tǒng)的位置,有助于我們進(jìn)行決策。
其次,考慮業(yè)務(wù)極有可能的變化。業(yè)務(wù)功能可能因?yàn)楫a(chǎn)品進(jìn)度等其它客觀因素導(dǎo)致其部分需求或功能在本次迭代中沒(méi)有提出,但可以預(yù)見(jiàn)的是這些功能在很大程度上會(huì)在后面的迭代中補(bǔ)充,這些功能可能會(huì)對(duì)當(dāng)前業(yè)務(wù)有影響,將這些情況考慮進(jìn)去在一定程度上會(huì)使得服務(wù)設(shè)計(jì)更加合理。在服務(wù)拆分、功能分配的時(shí)候可能會(huì)遇到這些情況,但需要避免過(guò)度設(shè)計(jì)。
最后,也需要根據(jù)自己團(tuán)隊(duì)的特點(diǎn)來(lái)設(shè)計(jì)微服務(wù),例如組織架構(gòu)會(huì)影響軟件架構(gòu)、以及當(dāng)團(tuán)隊(duì)技術(shù)能力無(wú)法保障多服務(wù)協(xié)作的正確性,可以減少服務(wù)的拆分,將一些功能合并在一個(gè)服務(wù)內(nèi)。
如有不正確的地方,歡迎指正交流。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/77393.html
摘要:本書(shū)概括以軟件系統(tǒng)為例,重點(diǎn)講解了應(yīng)用架構(gòu)中的物理設(shè)計(jì)問(wèn)題,即如何將軟件系統(tǒng)拆分為模塊化系統(tǒng)。容器獨(dú)立模塊不依賴于具體容器,采用輕量級(jí)容器,如獨(dú)立部署模塊可獨(dú)立部署可用性模式發(fā)布接口暴露外部配置使用獨(dú)立的配置文件用于不同的上下文。 本文為讀書(shū)筆記,對(duì)書(shū)中內(nèi)容進(jìn)行重點(diǎn)概括,并將書(shū)中的模塊化結(jié)合微服務(wù)、Java9 Jigsaw談?wù)劺斫狻?本書(shū)概括 以Java軟件系統(tǒng)為例,重點(diǎn)講解了應(yīng)用架構(gòu)...
摘要:探索專為而設(shè)計(jì)的將探討進(jìn)行了何種改進(jìn),以及這些改進(jìn)背后的原因。關(guān)于最友好的文章進(jìn)階前言之前就寫過(guò)一篇關(guān)于最友好的文章反響很不錯(cuò),由于那篇文章的定位就是簡(jiǎn)單友好,因此盡可能的摒棄復(fù)雜的概念,只抓住關(guān)鍵的東西來(lái)講,以保證大家都能看懂。 周月切換日歷 一個(gè)可以進(jìn)行周月切換的日歷,左右滑動(dòng)的切換月份,上下滑動(dòng)可以進(jìn)行周,月不同的視圖切換,可以進(jìn)行事件的標(biāo)記,以及節(jié)假日的顯示,功能豐富 Andr...
摘要:走過(guò)了這一年,公眾號(hào)的名稱前前后后改了三次,最后定格為閏土大叔。均價(jià),這價(jià)格絕對(duì)屬于太原市最便宜的樓盤之一了。據(jù)售樓部的朋友說(shuō),未來(lái)兩年太原的房?jī)r(jià)還會(huì)迎來(lái)新一波的漲價(jià)潮,到了年,太原會(huì)承辦全國(guó)青少年運(yùn)動(dòng)會(huì),簡(jiǎn)稱青運(yùn)會(huì)。 前言 從年前就嚷嚷著要走出去走出去,轉(zhuǎn)眼間已經(jīng)到了年底依然在我的大太原呆著。年底了,不能免俗的我,也來(lái)寫一篇2017年度工作總結(jié)的文章,湊湊熱鬧。如果對(duì)你有一點(diǎn)點(diǎn)啟發(fā),...
摘要:走過(guò)了這一年,公眾號(hào)的名稱前前后后改了三次,最后定格為閏土大叔。均價(jià),這價(jià)格絕對(duì)屬于太原市最便宜的樓盤之一了。據(jù)售樓部的朋友說(shuō),未來(lái)兩年太原的房?jī)r(jià)還會(huì)迎來(lái)新一波的漲價(jià)潮,到了年,太原會(huì)承辦全國(guó)青少年運(yùn)動(dòng)會(huì),簡(jiǎn)稱青運(yùn)會(huì)。 前言 從年前就嚷嚷著要走出去走出去,轉(zhuǎn)眼間已經(jīng)到了年底依然在我的大太原呆著。年底了,不能免俗的我,也來(lái)寫一篇2017年度工作總結(jié)的文章,湊湊熱鬧。如果對(duì)你有一點(diǎn)點(diǎn)啟發(fā),...
閱讀 2847·2021-09-28 09:36
閱讀 3937·2021-09-22 15:52
閱讀 3630·2021-09-06 15:00
閱讀 1947·2021-09-02 15:40
閱讀 2798·2021-09-02 15:15
閱讀 3454·2021-08-17 10:15
閱讀 2781·2019-08-30 15:53
閱讀 2073·2019-08-29 18:39