中间件技术及双十一实践·服务框架篇
分布式服務框架——分布式服務的組織者
綜述
06/07年以后,隨著淘寶用戶數量和網站流量的增長,應用系統的數量和復雜程度也急劇增加。諸多前臺系統都需要使用一些公共的業務邏輯,這些業務邏輯通常具有共性的東西,比如,獲取用戶信息或查詢寶貝詳情等。如果將這些業務邏輯在各個系統內部都實現一遍,則大大增加了開發成本和后期維護成本。于是,像服務框架這類的中間件產品就應運而生。服務框架幫助各個系統將那些相似的業務邏輯抽離出來,單獨部署,而前臺系統在需要調用這些業務邏輯時,只需要通過服務框架遠程調用即可,大大節約了前端系統的開發成本,也提高了系統的可維護性和可擴展性。
2.1、HSF簡介
HSF是淘寶的分布式服務框架。服務框架從分布式應用層面以及統一的發布/調用方式層面為業務系統提供支持,從而可以讓他們很容易地開發分布式應用并提供和使用公用功能模塊,而不用考慮分布式領域中的各種細節技術,例如遠程通訊、性能損耗、調用的透明化、同步/異步調用方式的實現等等問題。
服務框架的實現有三種角色:服務提供者、服務消費者和注冊中心。服務提供者在服務可用的前提下,將地址注冊到注冊中心。服務消費者啟動時,會訂閱注冊中心的相關服務,獲取服務地址,通過一定的負載均衡策略調用服務。由于注冊中心這個軟負載集群的存在,服務提供者和服務消費者可以任意擴容和下線,注冊中心可以實時將提供者地址的變更推送給消費者。
服務治理
服務治理是服務框架的核心功能。所謂服務治理,是指服務的提供方和消費方達成一致的約定,保證服務的高質量。服務治理功能,可以解決將某些特定流量引入某一批機器,以及限制某些非法消費者的惡意訪問,和在提供者處理量達到一定程度時,拒絕接受新的請求等功能。
2.2、HSF雙11準備與優化
在雙11中,HSF主要通過精簡日志輸出、流量限制、解決應用依賴沖突等措施,保證了服務的穩定可靠。
- 精簡日志輸出
消費者在調用過程中,容易因為網絡問題或服務提供方等原因引起調用失敗。如果沒有足夠的日志,有時候排查問題會很困難。因此,服務框架在生產環境使用時,往往將日志級別設置比較低或打印較多日志,記錄下足夠多的信息。這在平時沒有問題,而且在遇到問題時也有足夠的信息來排查問題。但是日志打印本身耗費性能,在雙11這種高峰調用期間,盡量要減少日志的輸出。為了達到靈活控制日志輸出的目標,服務框架優化了日志打印,精簡了日志輸出。
- 流量限制
雖然很多應用設置了流量限制等規則,但平時的流量遠遠低于閾值,只有在雙11這種流量高峰,才會起到效果。在雙11之前,我們檢查了線上所有的限流規則,發現有不少配置錯誤或者配置不合理的情況,其中有些是由于HSF對于一些默認參數設置不合理造成的。通過性能測試,將不合理的規則和參數進行改正。
- 解決應用依賴沖突
由于淘寶業務發展迅速,前端應用需要依賴越來越多的其他系統,這很容易造成應用依賴的沖突。服務框架引入了Pandora容器,對應用進行了依賴的隔離,防止應用和服務框架的依賴相互沖突。
小結
HSF已經經受了淘寶各種復雜、高并發的調用場景。今年來,HSF在易用性、服務治理和性能上有了很大的改進,是很穩定的分布式服務框架。作為淘寶中間件團隊最早誕生的中間件框架之一,HSF將在未來繼續發揮其巨大的作用。
總結
以上是生活随笔為你收集整理的中间件技术及双十一实践·服务框架篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 长城汽车旗下如果科技进入商用车领域:氢能
- 下一篇: 美光大容量 M.2 2230 规格 SS