自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

軟件架構(gòu)模式之微服務(wù)架構(gòu)

開發(fā) 架構(gòu)
微服務(wù)架構(gòu)(Microservice Architecture)是一種架構(gòu)概念,旨在通過將功能分解到各個(gè)離散的服務(wù)中以實(shí)現(xiàn)對(duì)解決方案的解耦。你可以將其看作是在架構(gòu)層次而非獲取服務(wù)的類上應(yīng)用很多SOLID原則。

[[408792]]

本文轉(zhuǎn)載自微信公眾號(hào)「架構(gòu)精進(jìn)之路」,作者架構(gòu)精進(jìn)之路。轉(zhuǎn)載本文請(qǐng)聯(lián)系架構(gòu)精進(jìn)之路公眾號(hào)。

1、微服務(wù)架構(gòu)介紹

微服務(wù)架構(gòu)(Microservice Architecture)是一種架構(gòu)概念,旨在通過將功能分解到各個(gè)離散的服務(wù)中以實(shí)現(xiàn)對(duì)解決方案的解耦。你可以將其看作是在架構(gòu)層次而非獲取服務(wù)的類上應(yīng)用很多SOLID原則。微服務(wù)架構(gòu)是個(gè)很有趣的概念,它的主要作用是將功能分解到離散的各個(gè)服務(wù)當(dāng)中,從而降低系統(tǒng)的耦合性,并提供更加靈活的服務(wù)支持。

概念:把一個(gè)大型的單個(gè)應(yīng)用程序和服務(wù)拆分為數(shù)個(gè)甚至數(shù)十個(gè)的支持微服務(wù),它可擴(kuò)展單個(gè)組件而不是整個(gè)的應(yīng)用程序堆棧,從而滿足服務(wù)等級(jí)協(xié)議。

定義:圍繞業(yè)務(wù)領(lǐng)域組件來創(chuàng)建應(yīng)用,這些應(yīng)用可獨(dú)立地進(jìn)行開發(fā)、管理和迭代。在分散的組件中使用云架構(gòu)和平臺(tái)式部署、管理和服務(wù)功能,使產(chǎn)品交付變得更加簡(jiǎn)單。

本質(zhì):用一些功能比較明確、業(yè)務(wù)比較精練的服務(wù)去解決更大、更實(shí)際的問題。

2、模式描述

不管你使用何種實(shí)現(xiàn)風(fēng)格和拓?fù)?,有幾個(gè)通用的核心概念應(yīng)用在這種架構(gòu)模式上。首先是分隔發(fā)布單元(separately deployed units)。

如圖所示,每一個(gè)微內(nèi)核的組件都被分隔成一個(gè)獨(dú)立的單元。

微服務(wù)包含服務(wù)組件(service component)。不要考慮微內(nèi)核的單個(gè)服務(wù),而是最好考慮服務(wù)組件,從粒度上講它可以是單一的模塊或者一個(gè)一個(gè)大的應(yīng)用程序,代表單一功能(提供天氣預(yù)報(bào)或者圖片存儲(chǔ))。

正確設(shè)計(jì)服務(wù)組件的粒度是一個(gè)很大的挑戰(zhàn)。

另一個(gè)關(guān)鍵概念是微內(nèi)核是分布式的。這意味著服務(wù)組件可能是遠(yuǎn)程方法(通過JMS, AMQP, REST, SOAP, RMI......等等)。分布式意味著這種模式可以建立大規(guī)模的應(yīng)用。

另一個(gè)值得興奮的特性是它可以從其它有問題的架構(gòu)模式中演化出來,而不是直接創(chuàng)建出來等待問題發(fā)生。當(dāng)你遇到一些無法解決的問題,特別是互聯(lián)網(wǎng)企業(yè)的規(guī)模擴(kuò)大時(shí),是很好的引入微服務(wù)架構(gòu)的時(shí)機(jī)。

一般會(huì)從兩個(gè)模式中演化:

  • 一種就是一開始就是整體的應(yīng)用,所有的模塊都是緊耦合的;
  • 另外一種是面向服務(wù)的架構(gòu)模式(SOA,service-oriented architecture pattern)。SOA不是不好,但是太昂貴了,不好理解和實(shí)現(xiàn)。

3、模式拓?fù)?/h3>

有很多實(shí)現(xiàn)微服務(wù)的方式。最通用最流行的三個(gè)方式是: API REST-based, applicaiton REST-based 和 中心化的消息。API REST-based 適合網(wǎng)站提供小規(guī)模的,自包含的服務(wù)。很多互聯(lián)網(wǎng)網(wǎng)站都提供這樣的服務(wù),比如OAuth2服務(wù)。

application REST-based不同于上面的架構(gòu),客戶端看到的是web界面或者富客戶端程序,而不是調(diào)用API。UI層獨(dú)立發(fā)布,可以訪問服務(wù)組件。

中心消息模式,它類似前面的模式,但是使用一個(gè)輕量級(jí)的消息broker取代RESTful的服務(wù)調(diào)用。這個(gè)輕量級(jí)的broker不會(huì)執(zhí)行服務(wù)的編排,傳輸和路由,這和SOA不同,不要把它看作SOA的簡(jiǎn)化版。

4、架構(gòu)考量

微服務(wù)架構(gòu)解決了無架構(gòu)的整體編碼的應(yīng)用的問題以及SOA的問題。同時(shí)它還可以提供實(shí)時(shí)的產(chǎn)品發(fā)布。它是一個(gè)分布式架構(gòu),也會(huì)有上面分布式的問題。

微服務(wù)模式優(yōu)劣分析:

總體靈活性:高

發(fā)布易用性:高

可測(cè)試性:高

性能:低

規(guī)模擴(kuò)展性:高

開發(fā)容易度:高

5、總結(jié)

 

微服務(wù)作為單一整體的程序和面向服務(wù)架構(gòu)的替代者, 微服務(wù)架構(gòu)模式在工業(yè)界很快贏得了地位。這種模式還在進(jìn)化之中,在業(yè)界對(duì)于它的特性和實(shí)現(xiàn)還有些困惑。對(duì)于我們的思考,更多的是思維上的轉(zhuǎn)變。對(duì)于微服務(wù)架構(gòu):技術(shù)上不是問題,意識(shí)比工具重要。

 

責(zé)任編輯:武曉燕 來源: 架構(gòu)精進(jìn)之路
相關(guān)推薦

2023-06-16 13:34:00

軟件架構(gòu)模式

2023-09-11 13:29:00

微服務(wù)架構(gòu)

2023-11-02 17:52:30

架構(gòu)模式微服務(wù)服務(wù)治理

2022-04-02 23:32:42

數(shù)據(jù)網(wǎng)格架構(gòu)

2019-07-23 17:20:02

Java微服務(wù)軟件架構(gòu)模式

2024-09-18 09:04:33

架構(gòu)模式查詢

2020-06-22 07:00:00

軟件架構(gòu)架構(gòu)模式

2020-06-28 10:15:39

架構(gòu)模式軟件

2017-09-14 09:30:38

軟件架構(gòu)模式

2012-10-08 11:16:36

企業(yè)應(yīng)用架構(gòu)標(biāo)識(shí)映射

2023-09-11 11:18:44

軟件開發(fā)架構(gòu)

2012-10-08 11:18:38

企業(yè)應(yīng)用架構(gòu)工作單元模式

2012-01-13 10:45:56

企業(yè)應(yīng)用架構(gòu)

2024-02-05 08:11:30

架構(gòu)模式單體

2019-09-29 10:29:02

緩存模式微服務(wù)架構(gòu)

2022-04-23 16:58:24

微服務(wù)微服務(wù)架構(gòu)

2023-06-20 07:27:07

架構(gòu)組件插件

2023-06-16 07:41:36

分層架構(gòu)軟件架構(gòu)

2023-07-28 09:23:24

微服務(wù)架構(gòu)

2018-08-01 14:20:11

微服務(wù)架構(gòu)人工智能
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)