最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

2.3 用上分布式、微服務(wù)技術(shù)系統(tǒng)拓展性就強(qiáng)?

2023-05-19 13:55 作者:xlorne  | 我要投稿



? ? ? 微服務(wù),也被稱為微服務(wù)架構(gòu),是一種構(gòu)建應(yīng)用程序的方法。在這種架構(gòu)中,一個(gè)大型應(yīng)用被分解成許多獨(dú)立的、較小的服務(wù),這些服務(wù)都運(yùn)行在自己的進(jìn)程中,并且通過(guò)某種輕量級(jí)的機(jī)制(通常是 HTTP REST API或者消息隊(duì)列)進(jìn)行通信。每個(gè)服務(wù)通常都是圍繞著特定的業(yè)務(wù)能力構(gòu)建的,它們可以獨(dú)立部署和擴(kuò)展。

微服務(wù)架構(gòu)的主要優(yōu)點(diǎn)包括:

敏捷性

? ? 因?yàn)槊總€(gè)服務(wù)都是獨(dú)立部署的,所以團(tuán)隊(duì)可以更快速地開(kāi)發(fā)和迭代服務(wù),而不必等待整個(gè)應(yīng)用的部署周期。

擴(kuò)展性

? ?如果某個(gè)服務(wù)需要更多的資源,你可以單獨(dú)擴(kuò)展那個(gè)服務(wù),而不是整個(gè)應(yīng)用。

容錯(cuò)性

? ? 如果一個(gè)服務(wù)出現(xiàn)故障,它不會(huì)直接影響到其他服務(wù)。這使得微服務(wù)架構(gòu)的應(yīng)用更加穩(wěn)定,故障影響范圍更小。

技術(shù)多樣性

? 不同的服務(wù)可以使用不同的技術(shù)棧,這給了開(kāi)發(fā)團(tuán)隊(duì)更大的靈活性。


? 然而,也是由于這些優(yōu)勢(shì)導(dǎo)致微服務(wù)技術(shù)被濫用,尤其是服務(wù)模塊劃分是一個(gè)具有挑戰(zhàn)性的事情。微服務(wù)劃分過(guò)度可能帶來(lái)的問(wèn)題包括:

? ?過(guò)度復(fù)雜性

? ?每個(gè)服務(wù)都需要處理網(wǎng)絡(luò)通信、數(shù)據(jù)一致性、服務(wù)發(fā)現(xiàn)和故障恢復(fù)等問(wèn)題,因此隨著服務(wù)數(shù)量的增加,系統(tǒng)的復(fù)雜性會(huì)大幅度提升。

高網(wǎng)絡(luò)開(kāi)銷

? ? 如果服務(wù)劃分過(guò)細(xì),那么可能會(huì)導(dǎo)致大量的跨服務(wù)通信,這可能會(huì)增加網(wǎng)絡(luò)開(kāi)銷,并可能導(dǎo)致性能問(wèn)題。

數(shù)據(jù)一致性問(wèn)題

? ?微服務(wù)中的每個(gè)服務(wù)都應(yīng)該擁有自己的數(shù)據(jù)庫(kù),以確保服務(wù)的獨(dú)立性。然而,如果服務(wù)劃分過(guò)細(xì),那么處理跨服務(wù)的數(shù)據(jù)一致性就會(huì)變得非常困難。

團(tuán)隊(duì)溝通成本增加

? ?隨著服務(wù)數(shù)量的增加,團(tuán)隊(duì)成員需要理解和跟蹤的服務(wù)和交互也會(huì)增加,這可能會(huì)增加溝通的成本和復(fù)雜性。


? ? 因此,在劃分微服務(wù)時(shí),需要考慮到這些可能的問(wèn)題,避免過(guò)度劃分服務(wù)。合理的服務(wù)劃分應(yīng)該根據(jù)實(shí)際的業(yè)務(wù)需求、團(tuán)隊(duì)結(jié)構(gòu)和技術(shù)能力等因素進(jìn)行,而不應(yīng)該單純地追求服務(wù)的數(shù)量和獨(dú)立性。


? ? 如何劃分服務(wù),其實(shí)追究到最后還是考驗(yàn)的架構(gòu)設(shè)計(jì)上的單一責(zé)任原則的理解問(wèn)題,假如一個(gè)類的職責(zé)都訂閱不清楚,一個(gè)函數(shù)的功能職責(zé)都是模糊的,那么微服務(wù)層面就將更加的混亂。面向?qū)ο笤O(shè)計(jì)的面向?qū)ο笤O(shè)計(jì)的五個(gè)基本原則,其實(shí)就已經(jīng)把相關(guān)的規(guī)范給我們講清楚了,但是少有人能夠?qū)⑵漕I(lǐng)悟。


五個(gè)基本原則(SOLID):

單一職責(zé)原則(Single Responsibility Principle, SRP):一個(gè)類應(yīng)該只有一個(gè)改變的原因。

開(kāi)放封閉原則(Open-Closed Principle, OCP):軟件實(shí)體(類、模塊、函數(shù)等)應(yīng)該對(duì)擴(kuò)展開(kāi)放,對(duì)修改封閉。

里氏替換原則(Liskov Substitution Principle, LSP):子類型必須能夠替換掉它們的基類型。

接口隔離原則(Interface Segregation Principle, ISP):客戶端不應(yīng)該依賴于它們不使用的接口。

依賴倒置原則(Dependency Inversion Principle, DIP):高層模塊不應(yīng)該依賴低層模塊,它們都應(yīng)該依賴于抽象。


總結(jié)

? ? 微服務(wù)的技術(shù)是很容易被引入的,這也導(dǎo)致大家更注重技術(shù)本身而忽悠業(yè)務(wù)。其實(shí)作為一個(gè)軟件系統(tǒng),業(yè)務(wù)才是核心,而業(yè)務(wù)通常是易變的,我們通過(guò)引入一項(xiàng)技術(shù)后,如果不能讓業(yè)務(wù)可以更加靈活的應(yīng)對(duì)需求,而只是解決部分技術(shù)問(wèn)題,那這是失敗的,因?yàn)檫@樣的做法會(huì)讓業(yè)務(wù)更加的被腐蝕,讓業(yè)務(wù)與技術(shù)相互糾纏再在一起,這就導(dǎo)致業(yè)務(wù)無(wú)法聚焦、無(wú)法被復(fù)用。?

? ? 我一直推崇的架構(gòu)設(shè)計(jì)就是要把業(yè)務(wù)與技術(shù)分離,做到技術(shù)可任意更換,可任意升級(jí),而業(yè)務(wù)則可以不斷的沉淀與優(yōu)化。



2.3 用上分布式、微服務(wù)技術(shù)系統(tǒng)拓展性就強(qiáng)?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
阜新| 沁源县| 新建县| 萝北县| 新巴尔虎左旗| 电白县| 遵义县| 全州县| 龙川县| 温泉县| 略阳县| 汕头市| 汉中市| 冷水江市| 出国| 金堂县| 如皋市| 长阳| 兴安盟| 镇安县| 淮滨县| 镇江市| 文山县| 安义县| 临澧县| 延津县| 内乡县| 新田县| 二连浩特市| 云龙县| 乌审旗| 靖西县| 晴隆县| 海门市| 宜宾县| 邻水| 南乐县| 思南县| 永寿县| 巩留县| 新巴尔虎左旗|