国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

“樂高式松耦合”架構實戰

xiaochao / 2984人閱讀

摘要:二樂高式松耦合架構落地快速實現需求與需求實現越來越慢的矛盾如何解決最終白山的產品架構聚焦在解耦上,方便平臺快速迭代,減少系統間依賴程度,打通無關聯項目,為運營互動提供高效支持,確保服務質量。

作者:王康

白山聯合創始人兼產品副總裁。
王康先生主要負責產品的完善與升級、產品開發流程把控及進度協調、產品設計改進及定期優化、產品全生命周期管理等工作。他帶領團隊實現白山首款產品CDN-X的多項創新,降低CDN使用門檻,極大拓展了CDN客戶資源,提升了白山品牌價值,促進整體CDN市場的擴大與發展。
王康先生曾就職于網宿科技,任該公司產品及售前高級總監,負責技術團隊的運營工作;擁有10年CDN行業經驗,專注于提高產品輸出的高質量和高可靠性。
王康先生擁有三項發明專利。

現在很多公司都在做松耦合,因為隨著業務發展、需求增加,緊耦合系統的問題會慢慢凸顯,并日益加劇。
以云分發行業為例,其屬性在逐漸發生變化。過去,極少人產生內容,絕大多數人消費內容,云分發主要以下行流量為主,而隨著全民直播的興起,云分發變成了云交互;物聯網的發展使物與物的數據交流成為主要方式,例如智能家居每天會產生上千條數據,但其中只有幾條會被消費;VR爆發,用戶產生的數據逐漸會從圖片、視頻轉變為VR內容;基于此我們可以預料到上行流量將逐步增加,并逐漸超過下行流量,成為基礎網絡架構的巨大挑戰。
用戶需求與網絡基礎環境的快速變化,使得我們需要越來越快的實現需求,然而緊耦合系統卻為研發帶來諸多困難,使功能實現越來越耗費精力與時間,所以在白山創立之初就決定做“樂高式松耦合”架構,來構建整個產品體系,像搭積木一般靈活自如。

一、 傳統難點
(1)需求堆積,收斂周期長
很多創業公司在成立之初采用野蠻生長的模式,原則是越快越好。緊耦合架構可以很好的滿足這些要求,他們可以快速的建立CMDB與資源管理平臺,并配置自動化、portal、監控等功能。但隨著功能增多與需求開發的增加,這個系統逐漸變為一盤散沙。當有新需求發生時,他們需要為其做很多硬編碼動作,收斂周期越來越長。
(2)“老中醫”資源的浪費
在緊耦合系統中,看似一個沒有什么關系的小改動,極有可能會引起一個重大bug;為防止錯誤發生,只能將系統設計的越來越復雜。例如為防止客戶端掛掉,研發通常會為其添加一個守護進程;當守護進程不穩定時,新入職的研發常用的解決方案是再添加一個守護進程,這就導致了系統越來越臃腫。
這時候,公司往往就需要經驗豐富、了解系統整體情況的“老中醫”才能對平臺進行改造。而作為核心資產的“老中醫”在忙于救火、進行技術攻堅,很難抽出時間來進行系統重構。

二、 “樂高式松耦合”架構落地
快速實現需求與需求實現越來越慢的矛盾如何解決?最終白山的產品架構聚焦在解耦上,方便平臺快速迭代,減少系統間依賴程度,打通無關聯項目,為運營互動提供高效支持,確保服務質量。
(1) 第一層松耦合架構
以白山云分發CDN-X系統為例,其根本核心是運營。為使運營支撐系統通過解耦讓公司的研發、運營靈活運轉,需要進行第一層抽象。將運營支撐系統抽象為5個組件,包括:客戶管理類、賬單信息類、資源管理、運營監控和配置管理。并對這5個組件進行畫像,確定邊界、輸入輸出,按照運營場景描述用戶場景。
幾個組件之間通過消息總線交互指令,通過標準的reset接口交互數據;同時將5個組件投入到實際開發中,按照不同類型做實例化。

(第一層松耦合架構)

(2)第二層松耦合架構
做完第一層解耦之后,我們發現第二層還可以繼續做抽象。以配置管理系統為例,又可抽象出4部分。

生成配置:主要負責配置的生成以及配置到git倉庫;

分發控制:管理灰度發布過程;

執行分發:分發收到的指令,并通過一些工具(如:salt、ansible、http get)匯報給上面的組件;

執行測試:調用已經寫好的測試用例倉庫測試這一次配置分發過程的最后效果。


(第二層松耦合架構)

運營支撐系統中的各個組件都可以一直抽象下去,抽象概念貫穿整個設計平臺的始末。
核心組件設計時再經過進一步抽象成工廠模式或單例模式,形成針對不同特性服務及場景,只需編寫極小的落地代碼即可獲得整個運營支撐服務的可插拔架構。

(3)建設原則

組件即服務
研發中人人都是架構師,收到研發需求后不是研究輸入輸出與邊界,而是了解業務。根據情況輸出需求文檔,并與業務方進行確認,按照需求設計架構。每一個組件,不再是功能,而是服務,有自己的服務對象;研發人員從最初的對代碼質量、輸入輸出負責,發展為對服務質量負責。

事件組件化
在最初設計過程中,我們發現,很多運營中的動作稱不上是平臺上的動作,而是由事件組成。如果這些事件通過自動化來完成,就需要投入大量的精力。以節點上架自動化為例:包括自動化掃描端口、監控、安裝、配置下發管理,甚至可以將自動化加入當前系統平臺為用戶提供服務。組件自動后,如果包裝成事件,將浪費不必要的人力成本。如果將事件組件化,運維管理人員則可以在平臺上方便的拖拽、引用、規范組件,通過拖拽、配置工作實現整體自動化。

數據聚合管理系統
數據往往是運營中的判斷標志,通過數據與數據間的關系來組建成組件。由于數據源之間的API不同,會導致花費過長的時間來對接API。我們將機房質量、監控負載、慢速比、卡頓率等數據進行整理,部分進行二次轉化,通過統一的接口調用,做成一個數據聚合管理系統。

實例分享-節點自動上線

(運維完成過程)

這個過程中運維人員完成了很多組件,如:配置管理、內部測試以及外部測試、入覆蓋地區等;隨后引入多種數據源進行追蹤。事件模版完成后只需運維人員選擇需上架的節點及其覆蓋方案與地區,其余過程均有系統自動化完成。
此模版還可以根據需要不斷修改,例如:丟包率組件等可以隨時加入,不會影響業務的進行。
很多公司也在做同樣的事件管理系統,不同的是其管理的是動作;而我們發現往往動作完成后還需要進行人工跟蹤。鑒于此我們將事件做成一個完整的生命周期,同時引入數據源來跟蹤異常服務狀態碼。
這個事件的完成過程中運維人員所需的操作已經從寫腳本、人肉分析,簡化為在模版上拖拽、引用組件,根據經驗設置閥值,甚至使用其他的事件模版來完成事件。

三、 松耦合需要堅持的細節
(1)保持簡單
隨著時間的推移與功能的不斷增加,系統必然會出現復雜性,而這種復雜性很多是由我們自身操作導致的,如上文提到的“守護進程”的例子,當使用復雜方案解決問題時往往會導致系統的臃腫。如果保證系統具備容錯能力,組件運營不正常時系統可以自動修復,這個問題就會簡化。
以消息管理機制為例,強消息管理機制要求確認消息確實可以被每臺設備收到并執行。我們對此進行了改善,使消息病毒式傳播,每臺設備可以向周圍5-6臺設備發出消息,即便中間有一次失敗,還會有其他設備再次向這臺設備傳輸。這樣的容錯能力保證了系統可以簡單地自動實現強研發、強跟蹤等功能。
(2)在平臺的基礎上構建應用程序
例如在大數據平臺上構建應用,研發人員在開發組件時無需考慮數據庫的設計以及瓶頸優化問題,只需要對接數據聚合平臺,大幅提高研發效率。
(3)不斷迭代
以Facebook為例,目前每秒可以處理12億張圖片;而其第一版系統只能允許用戶上傳圖片,并將其保存在數據庫中,該系統只存續3個月;隨著活躍用戶的增加, 其后端壓力不斷增加,于是將存儲改為二進制存儲方式;Facebook的每一次迭代都不是為了某一特定目標,而是為了解決業務上的痛苦。
所以最開始做開發時,我們只需要考慮需求與業務,設計足夠簡單的方案,再進行不斷迭代以滿足新增需求。

四、 帶來的變化
(1) 快捷引入新特性
我們使用P2P消息管理機制結合收斂算法,將文件刪除由5分鐘改進至0.7秒,我們對系統沒有進行大范圍改變,只是替換了其中的消息機制,利用當前基礎的通訊機制和基礎數據,過去所做的優化與UI仍可以繼續使用。引用這些新特性時保持輕量級,對其他組件幾乎沒有影響。
(2) 開發效率高
例如游戲交互過程中的數字包交互,業內公認很難做到。目前我們正在進行嘗試,我們引入開源的TCP代理軟件,并規劃新的應用服務類型,軟件按指定好的打包方式放在指定位置,就可以實現軟件的自動發布,同時調用其他組件接口對新業務進行監控,編寫配置生成邏輯實現業務配置自動化。只需要編寫非常輕量級的落地代碼,整個組件落地之后就可以服務運營。
(3)運維自動化提高
在問題定位時,如果人工跟蹤一般是“是與否選擇”的串行計算,而在事件管理系統中,則進行并行計算,即:調用監控系統,判斷節點是否正常;調用第三方數據進行及時測試,判斷節點當前服務是否正常;調用客戶App數據驗證服務質量;使用ELK系統分析日志,精準、快速的定位問題,分析時間由10分鐘大幅度縮減為3分鐘。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30531.html

相關文章

  • 樂高式松耦合架構實戰

    摘要:二樂高式松耦合架構落地快速實現需求與需求實現越來越慢的矛盾如何解決最終白山的產品架構聚焦在解耦上,方便平臺快速迭代,減少系統間依賴程度,打通無關聯項目,為運營互動提供高效支持,確保服務質量。 作者:王康 白山聯合創始人兼產品副總裁。 王康先生主要負責產品的完善與升級、產品開發流程把控及進度協調、產品設計改進及定期優化、產品全生命周期管理等工作。他帶領團隊實現白山首款產品CDN-X的多項...

    Pikachu 評論0 收藏0
  • 從小白程序員一路晉升為大廠高級技術專家我看過哪些書籍?(建議收藏)

    摘要:大家好,我是冰河有句話叫做投資啥都不如投資自己的回報率高。馬上就十一國慶假期了,給小伙伴們分享下,從小白程序員到大廠高級技術專家我看過哪些技術類書籍。 大家好,我是...

    sf_wangchong 評論0 收藏0

發表評論

0條評論

xiaochao

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<