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

如何使用軟件微服務(wù)?

譯文
開發(fā) 架構(gòu)
在分解式互聯(lián)網(wǎng)和云計算網(wǎng)絡(luò)中,我們?nèi)找媸褂幂^小的增量式(通??芍赜玫模┙M件和微服務(wù)。

?譯者 | 布加迪

審校 | 孫淑娟

51CTO讀者成長計劃社群招募,咨詢小助手(微信號:TTalkxiaozhuli)

軟件正變得越來越大。企業(yè)軟件的每一次迭代和發(fā)布都立足于一堆已經(jīng)很龐大的代碼、數(shù)據(jù)集、功能和公式,最終形成更龐大、更廣泛、越來越全面的軟件應(yīng)用程序、套件或平臺。

同時,軟件也變得越來越小。

在分解式互聯(lián)網(wǎng)和云計算網(wǎng)絡(luò)中,我們?nèi)找媸褂幂^小的增量式(通??芍赜玫模┙M件和微服務(wù)。使用微服務(wù)(和微服務(wù)架構(gòu))描述了一種使用模塊構(gòu)建的軟件系統(tǒng),所有模塊都有自己特別定義的功能、任務(wù)和角色——每個模塊通過一個標(biāo)準(zhǔn)化的、定義清晰的接口(比如API)加以連接。

毫無疑問,微服務(wù)方法在大多數(shù)方面都優(yōu)于傳統(tǒng)的單體架構(gòu)。許多組織轉(zhuǎn)向微服務(wù),以避免供應(yīng)商鎖定,消除與單體方法相關(guān)的成本和限制,并提升敏捷性(比如,每個服務(wù)可以獨(dú)立開發(fā)和部署,無需引起停運(yùn)或需要重構(gòu)應(yīng)用程序的其他部分)。此外,獲得擁有處理任務(wù)所需的合適功能的工具有明顯的好處。

1、如何運(yùn)行微服務(wù)?

如果這些介紹性陳述描述了現(xiàn)代軟件的形態(tài),那么我們應(yīng)該以什么樣的節(jié)奏、什么樣的操作方式來使用微服務(wù)呢?開源數(shù)據(jù)平臺公司Directus的聯(lián)合創(chuàng)始人兼首席執(zhí)行官Ben Haynes認(rèn)為,輪輻式(hub and spoke)方案是關(guān)鍵。

他認(rèn)為其理論是體現(xiàn)在軟件應(yīng)用開發(fā)領(lǐng)域的這個明顯事實的結(jié)果,即部署大量的微服務(wù)有許多缺點(diǎn)。

Haynes解釋:“從一種簡單的單體模型到一種有成百上千個相互依賴關(guān)系的復(fù)雜模型,會導(dǎo)致難以理解和維護(hù)的數(shù)據(jù)生態(tài)系統(tǒng),需要許多昂貴的許可證,迫使用戶培訓(xùn)和入職面臨陡峭的學(xué)習(xí)曲線。如果其中一項服務(wù)向前邁進(jìn),另一項服務(wù)停滯不前或不再受到支持,它們之間的集成和依賴關(guān)系可能會隨之破裂。一個依賴關(guān)系的破裂可能會造成多米諾骨牌效應(yīng),導(dǎo)致運(yùn)營戛然而止?!?/p>

由于微服務(wù)常常不能完美地首尾銜接,因此功能上可能存在缺口,需要用定制的軟件代碼和邏輯來填補(bǔ)。在數(shù)據(jù)在不同平臺上彼此孤立的情況下,數(shù)據(jù)流之間脆弱的連接也會讓情況變得更復(fù)雜。

2、為什么采用輪輻式?

Haynes面對一小群國際媒體時暢談:“許多組織在評估技術(shù)架構(gòu)時,應(yīng)改而竭力采用更均衡的‘輪輻式’方法,它們借助的解決方案奠定了完整而堅實的數(shù)據(jù)基礎(chǔ),覆蓋業(yè)務(wù)需求(輪),同時根據(jù)需要,仍然與微服務(wù)相集成,允許專業(yè)化(輻)。這種方法將單體架構(gòu)的穩(wěn)定性與微服務(wù)的敏捷性相結(jié)合,因此組織可以在不必為復(fù)雜性過度操心的情況下充分利用優(yōu)勢?!?/p>

他的整個理論和基本原理比較容易理解和掌握;組織可以將輪視為基礎(chǔ)數(shù)據(jù)層,即可以提供大約80%的所需功能的單一數(shù)據(jù)訪問點(diǎn)。

Haynes解釋道:“輪旨在通過API、軟件開發(fā)工具包(SDK)和webhook等其他工具與應(yīng)用程序連接,以便專門的解決方案結(jié)合在一起,最有效地滿足業(yè)務(wù)需求?!?/p>

他接著表示,輪相當(dāng)于通用或關(guān)鍵功能的基準(zhǔn),但仍然允許組織輕松連接其他關(guān)鍵業(yè)務(wù)系統(tǒng),比如Stripe、Hubspot、Salesforce或眾多高度專業(yè)化的工具。

Haynes澄清道:“無需管理多個基礎(chǔ)服務(wù),這消除了任何功能缺口,因為在不改變堆?;蚋蓴_運(yùn)營的情況下,連接新工具或功能變得很容易?!?/p>

3、須經(jīng)實際檢驗

他怎么如此自信地認(rèn)為這種方法有效呢?因為他公開表示,Directus正是使用這種模板創(chuàng)建了今天推向市場的開放數(shù)據(jù)平臺技術(shù)。其平臺旨在取代單一平臺中的許多不同系統(tǒng)(通過單一可擴(kuò)展的API整合數(shù)據(jù),并確保數(shù)據(jù)易于訪問)。

在最近一個例子中,一家國際航空公司使用Directus平臺整合了單一數(shù)據(jù)源的多個系統(tǒng),包括預(yù)訂、庫存、機(jī)場服務(wù)亭、移動應(yīng)用程序等,最終降低了成本,消除了系統(tǒng)之間的數(shù)據(jù)差異。

Haynes總結(jié)道:“通常來說,我們發(fā)現(xiàn)輪輻模型消除了軟件開發(fā)/部署方面的障礙,減輕了工程師的負(fù)擔(dān)——讓他們可以騰出時間,以處理更高價值的創(chuàng)收活動?!?/p>

軟件工程社區(qū)有一句很受歡迎的格言,說的是“面臨選擇時,兩者都要”——這句真理在這里得到了很好的證明和驗證。隨著軟件世界變得越來越大的同時變得越來越小,我們就需要能夠在每個層面都倡導(dǎo)平衡之道。

現(xiàn)在是時候做大了,但也要借助輪輻式邏輯做小,不過先不妨給輪胎打打氣。

原文鏈接:https://www.forbes.com/sites/adrianbridgwater/2023/01/10/how-to-use-software-microservices/?sh=3bd18ea11085

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2021-07-26 08:10:24

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

2023-04-13 15:04:57

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

2022-09-05 08:00:00

Java微服務(wù)AuraDB

2020-02-17 16:28:49

開發(fā)技能代碼

2018-04-23 14:31:02

微服務(wù)GraphQLBFF

2024-07-10 10:51:39

SpringEureka數(shù)據(jù)中心

2022-08-16 08:19:04

Sentinel微服務(wù)

2018-09-12 09:00:00

數(shù)據(jù)庫Redis微服務(wù)

2022-08-22 07:26:32

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

2021-12-29 08:30:48

微服務(wù)架構(gòu)開發(fā)

2024-11-06 16:27:12

2019-01-29 14:29:03

微服務(wù)路由

2022-03-31 08:15:38

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

2018-12-12 09:59:47

微服務(wù)架構(gòu)分布式系統(tǒng)

2017-02-28 14:32:48

微服務(wù)開發(fā)軟件

2015-09-28 11:16:50

SoundCloud微服務(wù)

2022-09-12 15:58:50

node.js微服務(wù)Web

2023-09-26 07:34:24

Docker部署依賴包

2022-05-16 08:07:15

微服務(wù)容器通信

2020-07-22 07:00:00

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

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