掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
?譯者 | 布加迪

創(chuàng)新互聯(lián)專注于太白企業(yè)網(wǎng)站建設,成都響應式網(wǎng)站建設,成都做商城網(wǎng)站。太白網(wǎng)站建設公司,為太白等地區(qū)提供建站服務。全流程按需網(wǎng)站開發(fā),專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
審校 | 孫淑娟
讀者成長計劃社群招募,咨詢小助手(微信號:TTalkxiaozhuli)
軟件正變得越來越大。企業(yè)軟件的每一次迭代和發(fā)布都立足于一堆已經(jīng)很龐大的代碼、數(shù)據(jù)集、功能和公式,最終形成更龐大、更廣泛、越來越全面的軟件應用程序、套件或平臺。
同時,軟件也變得越來越小。
在分解式互聯(lián)網(wǎng)和云計算網(wǎng)絡中,我們?nèi)找媸褂幂^小的增量式(通??芍赜玫模┙M件和微服務。使用微服務(和微服務架構)描述了一種使用模塊構建的軟件系統(tǒng),所有模塊都有自己特別定義的功能、任務和角色——每個模塊通過一個標準化的、定義清晰的接口(比如API)加以連接。
毫無疑問,微服務方法在大多數(shù)方面都優(yōu)于傳統(tǒng)的單體架構。許多組織轉向微服務,以避免供應商鎖定,消除與單體方法相關的成本和限制,并提升敏捷性(比如,每個服務可以獨立開發(fā)和部署,無需引起停運或需要重構應用程序的其他部分)。此外,獲得擁有處理任務所需的合適功能的工具有明顯的好處。
如果這些介紹性陳述描述了現(xiàn)代軟件的形態(tài),那么我們應該以什么樣的節(jié)奏、什么樣的操作方式來使用微服務呢?開源數(shù)據(jù)平臺公司Directus的聯(lián)合創(chuàng)始人兼首席執(zhí)行官Ben Haynes認為,輪輻式(hub and spoke)方案是關鍵。
他認為其理論是體現(xiàn)在軟件應用開發(fā)領域的這個明顯事實的結果,即部署大量的微服務有許多缺點。
Haynes解釋:“從一種簡單的單體模型到一種有成百上千個相互依賴關系的復雜模型,會導致難以理解和維護的數(shù)據(jù)生態(tài)系統(tǒng),需要許多昂貴的許可證,迫使用戶培訓和入職面臨陡峭的學習曲線。如果其中一項服務向前邁進,另一項服務停滯不前或不再受到支持,它們之間的集成和依賴關系可能會隨之破裂。一個依賴關系的破裂可能會造成多米諾骨牌效應,導致運營戛然而止?!?/p>
由于微服務常常不能完美地首尾銜接,因此功能上可能存在缺口,需要用定制的軟件代碼和邏輯來填補。在數(shù)據(jù)在不同平臺上彼此孤立的情況下,數(shù)據(jù)流之間脆弱的連接也會讓情況變得更復雜。
Haynes面對一小群國際媒體時暢談:“許多組織在評估技術架構時,應改而竭力采用更均衡的‘輪輻式’方法,它們借助的解決方案奠定了完整而堅實的數(shù)據(jù)基礎,覆蓋業(yè)務需求(輪),同時根據(jù)需要,仍然與微服務相集成,允許專業(yè)化(輻)。這種方法將單體架構的穩(wěn)定性與微服務的敏捷性相結合,因此組織可以在不必為復雜性過度操心的情況下充分利用優(yōu)勢。”
他的整個理論和基本原理比較容易理解和掌握;組織可以將輪視為基礎數(shù)據(jù)層,即可以提供大約80%的所需功能的單一數(shù)據(jù)訪問點。
Haynes解釋道:“輪旨在通過API、軟件開發(fā)工具包(SDK)和webhook等其他工具與應用程序連接,以便專門的解決方案結合在一起,最有效地滿足業(yè)務需求?!?/p>
他接著表示,輪相當于通用或關鍵功能的基準,但仍然允許組織輕松連接其他關鍵業(yè)務系統(tǒng),比如Stripe、Hubspot、Salesforce或眾多高度專業(yè)化的工具。
Haynes澄清道:“無需管理多個基礎服務,這消除了任何功能缺口,因為在不改變堆棧或干擾運營的情況下,連接新工具或功能變得很容易?!?/p>
他怎么如此自信地認為這種方法有效呢?因為他公開表示,Directus正是使用這種模板創(chuàng)建了今天推向市場的開放數(shù)據(jù)平臺技術。其平臺旨在取代單一平臺中的許多不同系統(tǒng)(通過單一可擴展的API整合數(shù)據(jù),并確保數(shù)據(jù)易于訪問)。
在最近一個例子中,一家國際航空公司使用Directus平臺整合了單一數(shù)據(jù)源的多個系統(tǒng),包括預訂、庫存、機場服務亭、移動應用程序等,最終降低了成本,消除了系統(tǒng)之間的數(shù)據(jù)差異。
Haynes總結道:“通常來說,我們發(fā)現(xiàn)輪輻模型消除了軟件開發(fā)/部署方面的障礙,減輕了工程師的負擔——讓他們可以騰出時間,以處理更高價值的創(chuàng)收活動?!?/p>
軟件工程社區(qū)有一句很受歡迎的格言,說的是“面臨選擇時,兩者都要”——這句真理在這里得到了很好的證明和驗證。隨著軟件世界變得越來越大的同時變得越來越小,我們就需要能夠在每個層面都倡導平衡之道。
現(xiàn)在是時候做大了,但也要借助輪輻式邏輯做小,不過先不妨給輪胎打打氣。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流