成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

傳統(tǒng)軟件開發(fā)架構(gòu)向基于云平臺轉(zhuǎn)型之路

2016-08-02    分類: 軟件開發(fā)

本文目標

本文闡述從傳統(tǒng)軟件開發(fā)架構(gòu)向基于云平臺開發(fā)架構(gòu)發(fā)展之路,給傳統(tǒng)開發(fā)想云原生開發(fā)提供參考。

架構(gòu)概述

軟件開發(fā)架構(gòu)大概分為三個階段,早期、成長期和穩(wěn)定器。

第一個階段為早期單體架構(gòu),一般服務(wù)端+數(shù)據(jù)庫的方式進行開發(fā),采用三層MVC架構(gòu)進行開發(fā)。主要特點:企業(yè)處于早期,業(yè)務(wù)比較簡單,產(chǎn)品功能比較單一,業(yè)務(wù)會隨時根據(jù)運營數(shù)據(jù)進行調(diào)整,對開發(fā)人員來說,主要講不同的功能模塊進行劃分,能夠應(yīng)對業(yè)務(wù)隨時調(diào)整的不確定性。

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

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

早期架構(gòu)

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

成長期架構(gòu)

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

前端資源因為不變主要通過存儲分發(fā),主要通過獨立域名或CDN技術(shù)實現(xiàn)優(yōu)化;無狀態(tài)設(shè)計。

水平擴展需要條件有:資源快速交付、無狀態(tài)服務(wù)設(shè)計、業(yè)務(wù)性能監(jiān)控和統(tǒng)一服務(wù)入口,實現(xiàn)技術(shù)主要是負載均衡,可以采用四層和七層協(xié)議分別對不同場景的訪問進行轉(zhuǎn)發(fā)。

后端系統(tǒng)擴展主要實現(xiàn)緩存服務(wù)器和數(shù)據(jù)庫的擴展,緩存服務(wù)擴展主要有Twemporxy+Sentinel和Redis Cluster


Twemporxy+Sentinel架構(gòu)


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


分布式數(shù)據(jù)庫


系統(tǒng)通信主要根據(jù)場景選擇通信協(xié)議,有http協(xié)議、https協(xié)議和tcp協(xié)議。具體差別不在詳述。

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

這一步可以實現(xiàn)DevOps進一步提高效率,采用的技術(shù)方案Jekins+Kubernets。

穩(wěn)定期架構(gòu)

穩(wěn)定期架構(gòu)主要對系統(tǒng)功能進行拆分,實現(xiàn)服務(wù)分而治之、各司其職、協(xié)同工作,共同完成業(yè)務(wù)邏輯。主要幾件事:業(yè)務(wù)拆分、統(tǒng)一配置、分布式任務(wù)。

當前文章:傳統(tǒng)軟件開發(fā)架構(gòu)向基于云平臺轉(zhuǎn)型之路
文章源于:http://jinyejixie.com/news17/45317.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項目有網(wǎng)站維護軟件開發(fā)

廣告

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

綿陽服務(wù)器托管
韩城市| 威宁| 孟津县| 汶上县| 盈江县| 乌拉特后旗| 天峨县| 东莞市| 吉首市| 桂阳县| 铜鼓县| 康定县| 广丰县| 隆化县| 蓬安县| 嵊州市| 普兰县| 滨州市| 高阳县| 龙川县| 呼和浩特市| 永靖县| 衡阳市| 韩城市| 大庆市| 平安县| 绥棱县| 镇平县| 台湾省| 盐山县| 乌兰浩特市| 乌鲁木齐县| 花垣县| 呈贡县| 台东市| 称多县| 外汇| 阿拉善右旗| 惠东县| 曲靖市| 冷水江市|