雲時代架構讀後感(十五)

2022-06-22 12:33:09 字數 942 閱讀 5471

隨著電商業務開展和業績增長,系統結構和邏輯變得越來越複雜。為應對業務規模和複雜性的增長,需要將系統按照細分專業領域拆分;為應對流量和交易的增長,需要將**進行大量子站拆分。這種狀況下,soa在保持清晰的系統結構和良好的邏輯組織方面提供了有力保障,為業務優化調整及新業務的開展帶來巨大收益。

通過服務封裝和嚴格分離,為電商平台實現高伸縮性打下堅實基礎。實現高伸縮性的主要工作集中在服務內部,對客戶端影響的評估和改造工作也變得非常清晰。這將大大降低了實現高伸縮性的難度、工作量和實施週期。

dubbo是阿里提供的乙個優秀的開源服務框架,在高併發情況下具有優秀的效能表現,海爾電商的soa架構全面基於dubbo服務框架。關於dubbo框架的詳細介紹可以參考github上的dubbo專案文件。下面對dubbo框架工作機制進行簡單介紹。

面臨的挑戰

產品的檢索和展示在電商平台中具有舉足輕重的地位,貫穿使用者瀏覽、購物整個過程,以及訂單交付全流程。產品服務需要為整個平台提供資料請求和檢索服務,而各品類的產品差異性非常大,這給產品服務設計帶來了巨大的挑戰。

將頁面或者部分頁面的靜態化是一種非常有效的優化方式,可以極大地降低對後台服務和資料的請求。但靜態化帶來的最大弊端就是服務端喪失了控制力,使得一些深入的自動化、智慧型化策略難以應用。因此,我們希望通過提公升服務端的效能和伸縮性,來避免靜態化的方案。

效能和伸縮性是電商平台的關鍵指標。為了保障系統效能和伸縮性,不少時候我們需要犧牲或者完全拒絕某些功能,或者降低系統的靈活性和擴充套件性等。在產品服務架構設計階段,我們努力思考和研究著一種可以魚和熊掌兼得的解決方案。

產品服務架構

產品服務分不同集群進行部署,面向web應用和其他服務的集群在執行期間幾乎不會產生資料庫請求,因此不管**訪問量和交易量多高,資料庫都不會產生壓力瓶頸。在系統峰值期間,只需為web和服務新增伺服器即可,實現了高伸縮目標。

效果

雲時代架構讀後感一

給飛行中的飛機換引擎 作者用飛機換引擎作為乙個例子。把給飛行中的飛機 或飛馳的汽車 換引擎說成我需要對乙個正在飛速發展的系統進行大幅度的架構改造。分為這3種 在做換引擎方案選擇和設計的時候需要考慮到這麼幾個現實的情況 作者對安全也有深刻的見解,列舉了十大原則 1 安全問題是木桶效應。整個系統的安全程...

雲時代架構讀後感(十三)

kafka上儲存的binlog未帶schema,而hive表必須有schema,並且其分割槽 欄位等的設計,都要便於下游的高效消費。對camus做的第乙個改造,便是將kafka上的binlog解析成符合目標schema的格式。checkdone的檢測邏輯 checkdone是怎樣檢測的呢?每個kaf...

雲時代架構讀後感(十)

12306也是乙個電商系統,而且看起來商品就是票了。因為如果把一張票看成是乙個商品,那購票就類似於購買商品,然後每張票都有庫存,商品也有庫存的概念。但是如果我們仔細想想,會發現12306要複雜很多,因為我們無法預先確定好所有的票,如果非要確定,那只能通過窮舉法了。作者提出的解決思路。總結 這篇文章,...