推薦答案
概念
SOA 是Service-Oriented Architecture的簡(jiǎn)稱,在《微服務(wù)設(shè)計(jì)》第1.3節(jié)中,SOA是一種設(shè)計(jì)方法,其中包含多個(gè)服務(wù),而服務(wù)之間通過(guò)配合最終會(huì)提供一系列的功能。一個(gè)服務(wù)通常以獨(dú)立的形式存在于操作系統(tǒng)進(jìn)程中。服務(wù)之間通過(guò)網(wǎng)絡(luò)調(diào)用,而非采用進(jìn)行內(nèi)調(diào)用的方法進(jìn)行通訊。不同的組織機(jī)構(gòu)或個(gè)人從不同的層面上對(duì)SOA進(jìn)行了描述和定義,我覺得較為準(zhǔn)確的定義分為三類:
W3C的定義:SOA是一種應(yīng)用程序架構(gòu),在這種架構(gòu)中,所以功能都定義為獨(dú)立的服務(wù),這些服務(wù)帶有定義明確的可調(diào)用接口,能夠以定義好的順序調(diào)用這些服務(wù)形成業(yè)務(wù)流程。
Service-architecture.com的定義:服務(wù)是精確定義、封裝晚上、地理與其他讀物所處環(huán)境和狀態(tài)的函數(shù)。SOA本質(zhì)上是服務(wù)的集合、服務(wù)之間彼此通信,這種通信可能是簡(jiǎn)單的數(shù)據(jù)傳送,也可能是兩個(gè)或更多的服務(wù)協(xié)調(diào)進(jìn)行某些活動(dòng)。服務(wù)之間需要某些方法進(jìn)行連接。
Gartner的定義:SOA是一種C/S架構(gòu)的軟件設(shè)計(jì)方法,應(yīng)用有服務(wù)和服務(wù)事業(yè)這租車,SOA與大多數(shù)通用的C/S架構(gòu)模型不同之處在于它著重強(qiáng)調(diào)構(gòu)建的松散耦合,并事業(yè)獨(dú)立的標(biāo)準(zhǔn)接口。
我對(duì)SOA的認(rèn)知是,將整個(gè)系統(tǒng)按照實(shí)際業(yè)務(wù),拆分成合適的、能夠獨(dú)立部署的模塊,每個(gè)模塊之間相互獨(dú)立,但是組合起來(lái)又是一個(gè)產(chǎn)品。比如在Springcloud中注冊(cè)中心、網(wǎng)關(guān)、配置中心、監(jiān)控中心等。至于如何拆分,可以使用DDD模式進(jìn)行設(shè)計(jì)。
特點(diǎn)
SOA的實(shí)施具有鮮明的基本特征,實(shí)施SOA的關(guān)鍵目標(biāo)是提高資源的利用率。如下為SOA的特征:
1. 外部或第三方可能訪問(wèn)
2. 隨時(shí)可用,保證高可用性
3. 粗粒度的服務(wù)接口分級(jí)
4. 松散耦合
5. 可重用的服務(wù)
6. 服務(wù)接口設(shè)計(jì)管理
7. 標(biāo)準(zhǔn)化的服務(wù)接口
8. 支持各種消息模式
9. 精確定義的服務(wù)契約
其他答案
-
soa(Service-Oriented Architecture)是面向服務(wù)的架構(gòu),它是一種粗粒度、松耦合服務(wù)架構(gòu),服務(wù)之間通過(guò)簡(jiǎn)單、精確定義接口進(jìn)行通訊,不涉及底層編程接口和通訊模型,將應(yīng)用程序的不同功能單元(稱為服務(wù))通過(guò)這些服務(wù)之間定義良好的接口和契約聯(lián)系起來(lái)。
-
SOA(面向服務(wù)的架構(gòu))是一種軟件架構(gòu)風(fēng)格,它將應(yīng)用程序的功能分解為可重用的服務(wù)。這些服務(wù)可以獨(dú)立于應(yīng)用程序進(jìn)行開發(fā)、測(cè)試和部署,并且可以通過(guò)網(wǎng)絡(luò)進(jìn)行訪問(wèn)。 SOA框架通常包括以下組件: 1.服務(wù)定義語(yǔ)言(SDL):用于描述服務(wù)的接口、消息和數(shù)據(jù)格式等信息。 2.服務(wù)注冊(cè)中心:用于注冊(cè)和發(fā)現(xiàn)服務(wù),并維護(hù)服務(wù)的可用性和狀態(tài)。 3.服務(wù)調(diào)用器:用于調(diào)用服務(wù),并將請(qǐng)求轉(zhuǎn)發(fā)到正確的服務(wù)實(shí)例。 4.服務(wù)組合器:用于將多個(gè)服務(wù)組合成一個(gè)完整的業(yè)務(wù)流程。 5.監(jiān)控和管理工具:用于監(jiān)視服務(wù)的性能和可用性,并進(jìn)行故障排除和修復(fù)。 常見的SOA框架包括Web Services、RESTful API、Java Service Provider Interface(JSPI)、Open Service Broker Architecture(OSBA)等。