免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

傳統軟件開發架構向基于云平臺轉型之路

2016-08-02    分類: 軟件開發

本文目標

本文闡述從傳統軟件開發架構向基于云平臺開發架構發展之路,給傳統開發想云原生開發提供參考。

架構概述

軟件開發架構大概分為三個階段,早期、成長期和穩定器。

第一個階段為早期單體架構,一般服務端+數據庫的方式進行開發,采用三層MVC架構進行開發。主要特點:企業處于早期,業務比較簡單,產品功能比較單一,業務會隨時根據運營數據進行調整,對開發人員來說,主要講不同的功能模塊進行劃分,能夠應對業務隨時調整的不確定性。

第二階段成長期,公司公司業務快速成長,DAU可能達到十萬,這是時候既要保證業務的穩定運行,又要進行產品的快速迭代。主要特點:前段加速優化,通過CDN等技術讓前端的靜態資源快速響應客戶的操作;水平擴展,讓后臺服務分布式,需要使用負載均衡實現,但要對負載均衡的分流設計;數據庫的優化,主要結構化和非結構數據的設計,以及通過緩存提供數據響應。

第三階段完全分布式架構。這個主要特點:前端和數據都會很大的壓力,對業務響應的效率要求就非常高;彈性擴容,系統因需求和用戶的增長,會出現波峰與波谷,需要通過彈性擴容更好利用資源;功能服務化,需要將之前功能服務化,比如:微服務設計;

早期架構

根據早期業務量,我們主要從以下幾個方面:技術框架選型、數據存儲、緩存選型、靜態資源存儲。目前來看,前段框架是SpringMVC,也直接采用前后端分離技術,采用SpringBoot+Vue來開發。數據存儲一般采用MySQL,緩存采用Redis,靜態資源通過Nginx實現本地托管。需要說明就是緩存的設計,基本訪問路徑是:訪問緩存-是否命中-命中直接返回-沒有命中-數據庫查詢-緩存更新。高可用可以通過部署多個節點,當一個節點受到異常的時候,還通過其他節點進行相應,基本可以達到2個9或3個9.

成長期架構

這個階段對用戶需求響應上,比如:全文檢索、重大活動支持等。架構設計主要分為以下幾塊,前端系統擴展、無狀態服務設計、在線水平擴展、后端系統擴展、系統通信和消息中間件。

前端資源因為不變主要通過存儲分發,主要通過獨立域名或CDN技術實現優化;無狀態設計。

水平擴展需要條件有:資源快速交付、無狀態服務設計、業務性能監控和統一服務入口,實現技術主要是負載均衡,可以采用四層和七層協議分別對不同場景的訪問進行轉發。

后端系統擴展主要實現緩存服務器和數據庫的擴展,緩存服務擴展主要有Twemporxy+Sentinel和Redis Cluster


Twemporxy+Sentinel架構


Redis Cluster采用去中心化設計,每個節點都是平行,通過哈希槽來實現劃分,新添加節點時候,使用redis-trib工具將其他幾點的slot遷移部分到新節點上面,遷移過程不影響使用。對于數據擴展,前期會通過分庫分表來實現,建議分布式庫來實現數據庫的水平擴展


分布式數據庫


系統通信主要根據場景選擇通信協議,有http協議、https協議和tcp協議。具體差別不在詳述。

消息中間件主要解決應用耦合、異步投遞消息、流量削峰,采用RabbitMQ.

這一步可以實現DevOps進一步提高效率,采用的技術方案Jekins+Kubernets。

穩定期架構

穩定期架構主要對系統功能進行拆分,實現服務分而治之、各司其職、協同工作,共同完成業務邏輯。主要幾件事:業務拆分、統一配置、分布式任務。

當前文章:傳統軟件開發架構向基于云平臺轉型之路
文章源于:http://m.newbst.com/news17/45317.html

網站建設、網絡推廣公司-創新互聯,是專注品牌與效果的網站制作,網絡營銷seo公司;服務項目有網站維護軟件開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

綿陽服務器托管