如何搭建完備實用的基礎架構與中間件體系?

2021-01-11 開源中國

基礎架構,是項目基礎庫/基礎軟體/基礎平臺的架構與實現。它不直接從事任何對外業務,而是為後端工程師提供「服務」,如 RPC、負載均衡、消息隊列、存儲中間件等等。而中間件是一種獨立的系統軟體或服務程序,位於客戶機伺服器的作業系統之上,管理計算資源和網絡通信。

對後端開發工程師來說,掌握一門後端開發語言僅僅是最基礎的技能,在實際開發中,我們總少不了接觸 Beego / Djang 等一些具體的開發框架,所以,我們必須熟悉整個後端的架構。而在中小型企業,往往沒有基礎架構的崗位,這就要求後端開發掌握基礎架構與中間件體系的搭建。

得益於開源,現在有大量可用的工具鏈可以幫助開發者順利搭建。下面,為大家介紹 XXL 系列開源軟體,這套基礎組件涵蓋配置中心、任務調度、消息隊列、緩存管理等,是相對非常完備的基礎套件。

分布式配置管理平臺 —— XXL-CONF

XXL-CONF 是一個分布式配置管理平臺,提供統一的配置管理服務。它解決了常規項目開發使用 properties 維護配置信息,需手動修改 properties 文件、重新編譯打包、重啟線上伺服器、配置生效不及時、不同環境上線包不一致的問題。

傳送門:https://my.oschina.net/xuxueli/blog/734267





分布式任務調度平臺 —— XXL-JOB

XXL-JOB是一個輕量級分布式任務調度框架,其核心設計目標是開發迅速、學習簡單、輕量級、易擴展。

在設計思想上,將調度行為抽象形成「調度中心」公共平臺,而平臺自身並不承擔業務邏輯,「調度中心」負責發起調度請求。將任務抽象成分散的 JobHandler,交由「執行器」統一管理,「執行器」負責接收調度請求並執行對應的 JobHandler 中業務邏輯。因此,「調度」和「任務」兩部分可以相互解耦,提高系統整體穩定性和擴展性。

傳送門:https://my.oschina.net/xuxueli/blog/690978



分布式消息隊列 —— XXL-MQ

XXL-MQ 是一款輕量級分布式消息隊列,支持串行、並行和廣播等多種消息模型。支持三種消息模式:



目前流行的 ActiveMQ、RabbitMQ、ZeroMQ 等消息隊列的軟體中,大多為了實現 AMQP,STOMP,XMPP 之類的協議,變得極其重量級,如新版本Activemq建議分配內存達1G+。但在很多 Web 應用中的實際情況卻往往是想找到一個緩解高並發請求的解決方案,一個輕量級的消息隊列實現方式才是我們真正需要的。

傳送門:https://my.oschina.net/xuxueli/blog/738918

分布式緩存管理平臺 —— XXL-CACHE

XXL-CACHE 是一個分布式緩存管理平臺,其核心設計目標是「讓分布式緩存的接入和管理的更加的簡潔和高效」。

核心思想:

1. 將分布式緩存抽象成公共 RPC 服務,對外提供公共 API 進行緩存操作:

項目接入緩存服務更加方便:接入方只需要依賴一個 RPC 服務的 API 即可;

統一監控和維護緩存服務;

方便控制 client 連接數量;

緩存節點變更更加方便;

在節點變更時, 緩存分片很大可能會受影響, 這將導致不同服務的分片邏輯出現不一致的情況,統一緩存服務可以避免之;

可以屏蔽底層 API 操作,提供公共 API,避免 API 誤操作;

2. 提供緩存管理和監控平臺:方便的查詢、管理和監控線上緩存數據。

傳送門:https://my.oschina.net/xuxueli/blog/732279

當然,這些基礎組件只是為我們提供了可用工具,該結合現有業務使用 XXL 系列開源產品呢?看文檔不如與項目創始人面對面交流。

這一次,我們邀請了 XXL 開源項目的創始人 、美團點評工程師 —— 許雪裡參加「上海源創會」,許老師擅長中間件基礎架構,分布式系統架構與實踐,本次分享將通過對現有基礎組件和相關領域新技術進行梳理,並結合XXL系列開源產品,設計構建一個在現在與未來一定時間內完備實用的基礎架構與中間件體系。

除此之外,5 月 27 日(周日)上海源創會 還邀請了黃勵博(又拍雲系統開發高級工程師)、曲駿(安暢混合雲服務架構團隊負責人)、朱明智(個推B2D研發部平臺研發專家)、韓天峰(Swoole 和 PHP-X 開源項目創始人)四位行業大牛。以架構為核心,與你進行一場關於面對面的技術對話。

點擊報名,與業內大咖和更多小夥伴當面交流。

還可以掃碼報名哦~~


相關焦點

  • 編程體系結構:分布式系統架構
    服務基礎架構:Dubbo框架,SpringCloud框架;容器化運維:Docker、Kubernetes它利用SpringBoot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用SpringBoot的開發風格做到一鍵啟動和部署。
  • 阿里架構詳解大型網站系統與Java中間件實踐
    前言從事網際網路系統開發的人員大多希望成為資深的架構師或領域專家。但大部分人員由於自身工作環境及條件的限制,缺少大型系統實踐經驗,或者對核心的案例缺乏真實的了解,因此很難有機會理解分布式設計中的關鍵問題及應對方案。如何才能找到有效的方法並早日成為資深系統架構師呢?
  • 螞蟻金服啟動分布式中間件開源計劃:構建雲原生架構
    螞蟻金服啟動分布式中間件開源計劃,用於快速構建金融級雲原生架構今天我們很高興地宣布,螞蟻金服將啟動分布式中間件(Scalable Open Financial
  • 前端如何正確使用中間件?
    阿里妹導讀:中間件可以算是一種前端中常用的」設計模式「了,有的時候甚至可以說,整個應用的架構都是使用中間件為基礎搭建的。那麼中間件有哪些利弊?什麼才是中間件正確的使用姿勢?本文將分享作者在實際使用中的一些想法,歡迎同學們共同討論。文末福利:下載《大促背後的前端核心業務實踐》電子書。
  • 前端如何正確使用中間件?
    折木 阿里技術阿里妹導讀:中間件可以算是一種前端中常用的」設計模式「了,有的時候甚至可以說,整個應用的架構都是使用中間件為基礎搭建的那麼為什麼服務端這種架構是合理的呢,因為服務端的微服務架構確實能夠將多個業務邏輯拆分來解耦比較複雜的邏輯,但是Bridge這裡只是想要實現某個API的實現,也很明顯的發現實際在使用過程中,基本都採用了單插件的註冊方式。所以感覺用中間件來實現某個API,有點過渡設計了,反而造成了維護成本的提高。
  • 架構設計 | 分布式體系下,服務分層監控策略
    一、分布式故障分布式系統的架構,業務開發,這些在良好的思路和設計文檔規範之下,是相對來說好處理的,這裡的相對是指比較分布式架構下生產環境的突然故障。所以當核心服務的鏈路出現故障時,如何快速定位問題就是一件很頭疼的事情
  • 如何搭建一個企業級數據分析體系?
    編輯導讀:增長是企業最重要的工作之一,如何用數據驅動企業增長呢?這就需要企業搭建一套數據分析體系。本文立足於企業實際情況,對構建企業級數據分析體系的步驟進行了詳細梳理說明,希望對你有幫助。
  • 如何搭建數據治理體系?
    《主數據驅動的數據治理:原理、技術與實踐》一書中有詳細提到過整個數據治理體系的搭建,個人覺得寫的不錯,拿來總結分享給大家。首先我們需要明確數據治理體系的目標,各個企業進行數據治理的目的也無非為三個:運營合規:運營合規這是整個數據治理的基礎,也是數據質量提升的前提;風險可控:風險可控是數據治理的手段,將不確定性變為可知可控的風險;價值創造:價值創造是數據治理的結果,結果導向來驗證整個數據治理是否有成果。
  • 自動駕駛基礎架構演進中的矛盾與思考
    在 Autonomy 算法方面,對於如何實現自動駕駛的技術路徑應該還不足夠清晰和明確,需要大量的原型驗證和方法探索,並在這個過程中逐步形成相對明確的技術路線和方向,搭建一個完整軟體技術體系,形成數據驅動的研發流程。相對而言,一些頻次較低的問題和場景,以及一些比較極端安全問題,則可以優先級低一些,由安全員來進行保障。2.
  • 分布式架構知識體系必讀
    3、分布式核心理論基礎,節點、網絡、時間、順序,一致性?4、分布式是系統有哪些設計模式?5、分布式有哪些類型?6、如何實現分布式?本文力求從分布式基礎理論,架構設計模式,工程應用,部署運維,業界方案這幾大方面,介紹基於MSA(微服務架構)的分布式的知識體系大綱。從而對SOA到MSA進化有個立體的認識,從概念上和工具應用上更進一步了解微服務分布式的本質,身臨其境的感受如何搭建全套微服務架構的過程。
  • 阿里中間件:底層+算法+微服務+架構+資料庫!(四面)
    10:分布式系統的全局id如何實現11:分布式鎖的方案,redis和zookeeper那個好,如果是集群部署,高並發情況下那個性能更好?、表鎖等redis相關:架構設計、數據一致性問題容器:容器的設計原理等技術二面題目:參與的項目,選一個,技術難度在哪裡?
  • 騰訊高級架構師熬夜整理:中間件MyCat實戰筆記,開放下載
    由於內容過多,下面展示目錄和詳細內容截圖,有需要完整版源碼+筆記的朋友,只有轉發+關注,然後在我的主頁私信【中間件MyCat入門:2.1 環境搭建2.2 MyCat核心概念2.3 分片配置測試MyCat高可用集群搭建:
  • 一文看懂中間件
    中間件發展和計算架構變化緊密相關,隨著網絡架構發展,許多應用軟體需要在不同的硬體平臺、網絡協議環境下運行,傳統的兩層分布式架構,即客戶端—伺服器架構,面臨著性能差、效率低的問題,無法滿足需求,三層或多層分布式架構由此提出,具體業務邏輯與底層邏輯解耦,分離至中間層,最終由中間件統一接口和協議,將客戶端與伺服器進行組合。
  • 作業幫受邀參加2020中國教育科技大會,基礎架構負責人分享多雲架構...
    作業幫基礎架構負責人董曉聰受邀出席本次大會,並在「運維安全——後疫情時代的在線教育挑戰」分會場分享作業幫如何通過基於雲原生的多雲建設,破解業務發展過程中存在的穩定性、效率、成本、安全等方面問題,實現彈性、韌性、可觀測
  • 阿里中間件:RocketMQ生產部署架構如何設計?
    推薦閱讀: 前言看了我們之前的文章,相信小夥伴們對RocketMQ已經有了一個初步的了解,那麼今天我們就來聊一聊具體如何來設計一套高可用的生產部署架構在聊如何設計這套架構的同時,我們再補充一些之前沒提到的知識。好了,那我們現在開始吧。
  • 收藏:一文讀懂中間件
    中間件發展和計算架構變化緊密相關,隨著網絡架構發展,許多應用軟體需要在不同的硬體平臺、網絡協議環境下運行,傳統的兩層分布式架構,即客戶端—伺服器架構,面臨著性能差、效率低的問題,無法滿足需求,三層或多層分布式架構由此提出,具體業務邏輯與底層邏輯解耦,分離至中間層,最終由中間件統一接口和協議,將客戶端與伺服器進行組合。
  • SpringBoot2搭建基礎架構——開源軟體誕生4
    準備工作搭建基礎框架前,解決問題,並最終搭建滿足我們需求的底層框架呢?(2)授權我採用了shiro框架與cas無縫整合,根據三類權限的設置,保證了菜單、按鈕、數據的精細控制(3)加密包括對HTTP頭的加密(SSL),對關鍵業務數據的加密(AES、SHA1)降低信息流的複雜性,最核心的是如何梳理,如何切分業務,模塊之間如何互相調用。
  • 如何做好性能壓測:壓測環境的設計和搭建
    硬體、軟體和網絡軟體:環境中涉及到哪些基礎軟體、中間件。硬體:實體機/虛擬機,單機配置(CPU、內存、硬碟大小),集群規模。網絡:內網還是外網,網絡帶寬,是否有跨網段問題,是否隔離。提供一套獨立的的生產環境子集-隔離環境,用於容量規劃要解決的問題:構建的環境集如何定義,規模和架構如何貼近線上。流量如何走到隔離環境。隔離環境寫的數據是否需要清理,如何清理?
  • 中小企業應該如何建立自己的防禦體系
    中小企業應該如何建立自己的防禦體系 對於企業面臨的安全問題依然很嚴峻,儘管你的網站採用https,但是這也避免不了病毒帶來的對業務的影響。面對龐大的安全體系,筆者將儘可能給大家從不同維度描述、講解。
  • 從0到1,會員體系應該如何搭建?
    生活中,不論做任何事情都要透過現象看本質,不要被一些很新穎的概念唬住了,你要記得,萬變不離其宗,我們順著事情的緣由尋根溯源,一定能看清楚底層架構。我最近一直在想,都說小程序客戶留存率低,怎麼能夠提高小程序的留存率。首先搭建一套有效的會員營銷體系,讓客戶成為會員對提高小程序留存這塊會有不錯的效果。