目錄
目錄X
新架構(gòu)的動(dòng)易SiteAzure特性之可靠性、高性能、可擴(kuò)展性、可伸縮性、開放性
軟件產(chǎn)品的特性是隱性的,不太被用戶所察覺。但又是非常重要的,是軟件所有顯性功能的夯實(shí)基礎(chǔ),是隱藏在產(chǎn)品背后的研發(fā)實(shí)力的體現(xiàn)。動(dòng)易研發(fā)團(tuán)隊(duì)耗費(fèi)三年時(shí)間打磨出的新架構(gòu)新產(chǎn)品,便是努力地全面的將產(chǎn)品“地基”打牢、做實(shí),為動(dòng)易 SiteAzure 的未來提供一切可能!
那么接下來,我們將繼續(xù)給大家介紹產(chǎn)品背后的特性。
一、可靠性
動(dòng)易嚴(yán)謹(jǐn)?shù)漠a(chǎn)品理念和嚴(yán)密的研發(fā)流程是賦予動(dòng)易每個(gè)產(chǎn)品穩(wěn)定可靠的強(qiáng)大基礎(chǔ),并配合堅(jiān)如磐石的ASP.NET 4.5.1 平臺和多年打磨的新架構(gòu),新動(dòng)易 SiteAzure 將異常穩(wěn)定與可靠,能夠解決客戶對于可靠性的各種苛刻需求。
● 支持匹配現(xiàn)有多種大型數(shù)據(jù)庫,并能夠勝任在復(fù)雜的運(yùn)行環(huán)境里穩(wěn)定、可靠地運(yùn)行,在出現(xiàn)異常的情況下系統(tǒng)具有相應(yīng)的規(guī)避措施。
● 基于微軟 ASP.NET 4.5 環(huán)境部署,其公認(rèn)的高效、穩(wěn)定、安全的特性將為政府網(wǎng)站注入一顆健壯的核心"CPU"。
● 支持服務(wù)器集群部署,群集化管理可以減少單點(diǎn)(單個(gè)子站點(diǎn))故障數(shù)量,并且實(shí)現(xiàn)群集化資源的高可用性。在系統(tǒng)崩潰或不可響應(yīng)時(shí)通過故障檢測自動(dòng)觸發(fā)故障轉(zhuǎn)移或重定向負(fù)載至后備系統(tǒng),以提高系統(tǒng)運(yùn)行的可靠性。
● 當(dāng)系統(tǒng)在服務(wù)器集群中轉(zhuǎn)移或重定向時(shí),通過異步請求并使用 Windows 消息隊(duì)列來提供可靠的單次遞送。
● 通過事件觸發(fā)系統(tǒng)的全局監(jiān)控組件,利用系統(tǒng)日志、Trace 文件來記錄系統(tǒng)異常點(diǎn),方便的進(jìn)行故障修復(fù)和問題檢查,縮短系統(tǒng)恢復(fù)的時(shí)間來保證系統(tǒng)的可靠性。
● 動(dòng)易產(chǎn)品目前已累積用戶超過86萬,大量用戶的使用能夠印證產(chǎn)品出色的可靠性。
二、高性能
政府網(wǎng)站除了對安全性、可靠性有特殊要求之外,對系統(tǒng)運(yùn)行效率也有著越來越高的需求。通俗的說,運(yùn)行效率就是對系統(tǒng)的兩個(gè)指標(biāo)有著高要求:一個(gè)是高性能,一個(gè)是并發(fā)性。高性能是在大數(shù)據(jù)量時(shí)網(wǎng)站運(yùn)行速度仍然飛快(此時(shí)可能只是很少人訪問),并發(fā)性指網(wǎng)站在大訪問量時(shí)每位訪問者的速度仍然飛快(此時(shí)可能數(shù)據(jù)量很?。?。只有當(dāng)兩個(gè)指標(biāo)同時(shí)滿足的時(shí)候,我們才能說這個(gè)系統(tǒng)非常的牛(速度很快,很流暢),能夠滿足客戶對運(yùn)行效率的需求。
而動(dòng)易為了滿足客戶的這種需求,對全新架構(gòu)的動(dòng)易SiteAzure 的運(yùn)行效率提出了更加苛刻的標(biāo)準(zhǔn),并通過一些列的努力來實(shí)現(xiàn)它。
● 通過數(shù)據(jù)緩存化,利用最強(qiáng)性能的內(nèi)存對常用數(shù)據(jù)內(nèi)存化, 大幅減少服務(wù)器端的 IO 以及數(shù)據(jù)庫壓力。
● 通過 ASP.NET Async 技術(shù),充分利用服務(wù)器端線程池異步操作。 減少服務(wù)器端壓力和客戶等待時(shí)間。
● 使用時(shí)間戳技術(shù),保證在高并發(fā)訪問時(shí),用戶不會產(chǎn)生幻讀,幻寫現(xiàn)象。在高并發(fā)時(shí)也能充分的保證數(shù)據(jù)的完整性。
● 模板預(yù)編譯技術(shù),使用動(dòng)態(tài)頁也可以獲得和靜態(tài)頁同樣的效率。
● 通過數(shù)據(jù)持久層框架,對常用數(shù)據(jù)依賴緩存。 大幅降低對數(shù)據(jù)庫的操作次數(shù)從而降低數(shù)據(jù)庫訪問壓力。
● 單服務(wù)器下可以承載百萬甚至千萬級數(shù)據(jù)量,系統(tǒng)對數(shù)據(jù)庫查詢進(jìn)行索引優(yōu)化、分頁查詢、庫表散列等技術(shù)保證大數(shù)據(jù)量下的系統(tǒng)性能,并可以對數(shù)據(jù)庫進(jìn)行讀寫分離,有效地減輕數(shù)據(jù)庫壓力并保證保證數(shù)據(jù)庫完整性。
上面這些仍是抽象描述,有沒有直白的數(shù)據(jù)能證明這些呢?動(dòng)易研發(fā)中心測試部通過使用 LoadRunner 在如下服務(wù)器配置中進(jìn)行并發(fā)性測試,并在“性能測試”、“負(fù)載測試”、“壓力測試”得到了相關(guān)性能數(shù)據(jù)。
性能測試結(jié)果:
一般操作響應(yīng)時(shí)間<2秒,復(fù)雜操作響應(yīng)時(shí)間<20秒;
前臺動(dòng)態(tài)頁面響應(yīng)時(shí)間<2秒,生成靜態(tài)頁面響應(yīng)時(shí)間<20毫秒。
并發(fā)測試結(jié)果:
模擬千人同時(shí)訪問,上述指標(biāo)沒有明顯下降。
三、可擴(kuò)展性
全新架構(gòu)的動(dòng)易SiteAzure 繼承老架構(gòu)出色的可擴(kuò)展性的基礎(chǔ)上,借助新架構(gòu)的各種優(yōu)勢進(jìn)一步提升SiteAzure 的擴(kuò)展性。新動(dòng)易SiteAzure 的可擴(kuò)展性能夠解決客戶在軟件自身可擴(kuò)展性和業(yè)務(wù)可擴(kuò)展性上的多種需求。
軟件本身可擴(kuò)展指 SiteAzure 本身具備多種可擴(kuò)展屬性支持二次開發(fā)和與第三方系統(tǒng)整合;而業(yè)務(wù)可擴(kuò)展指系統(tǒng)能夠不斷滿足業(yè)務(wù)擴(kuò)展需求。業(yè)務(wù)對系統(tǒng)處理能力的需求不是一層不變的,隨著業(yè)務(wù)的不斷拓展,業(yè)務(wù)對系統(tǒng)處理能力的要求也會越來越高。SiteAzure 可以根據(jù)不斷變化的業(yè)務(wù)處理需求來提升系統(tǒng)處理能力,滿足業(yè)務(wù)需求和保障系統(tǒng)穩(wěn)定。
我們將主要可擴(kuò)展性整理如下:
● 使用面向接口式開發(fā),預(yù)估了未來客戶的需求變化。通過實(shí)現(xiàn)接口即可處理客戶不同的業(yè)務(wù)需求和變化。
● 產(chǎn)品使用模塊化開發(fā)方案,可以針對客戶的需求減少或增加產(chǎn)品模塊。每個(gè)模塊內(nèi)部獨(dú)立,模塊之間數(shù)據(jù)可以進(jìn)行通信互訪,滿足客戶在未來對產(chǎn)品的不同需求。
● 采用 .Net Framework 的最新版本,可以橫跨 Windows 、 Linux 、 Mac 操作系統(tǒng)平臺。
● 采用倉儲模型,可以支持不同的數(shù)據(jù)庫類型: MSSQL 、 Oracle 、 MySQL 等數(shù)據(jù)庫。更多的數(shù)據(jù)庫可以根據(jù)用戶的需求,切換新的倉儲層提供者,滿足客戶的需求。
● 提供了配套的便于系統(tǒng)擴(kuò)展及二次開發(fā)的各種說明文檔,如:《數(shù)據(jù)庫字段說明列表》、《產(chǎn)品功能說明書》及各種接口說明文檔等。
● 提供了擴(kuò)展模型系統(tǒng),可以在內(nèi)容模型、信息公開、工程建設(shè)領(lǐng)域等多個(gè)模塊自由的使用擴(kuò)展模型和字段,可以為日常的工作和內(nèi)容提供豐富的形式。
● 提供標(biāo)準(zhǔn)、規(guī)范的用戶 API 接口,實(shí)現(xiàn)廣泛的第三方系統(tǒng)集成。
● 提供 RESTful 風(fēng)格的標(biāo)準(zhǔn)接口,方便其他軟件如( APP 、其他內(nèi)網(wǎng)系統(tǒng))方便的進(jìn)行對接。
四、可伸縮性
全新架構(gòu)的動(dòng)易 SiteAzure 具有在不影響系統(tǒng)性能的情況下處理額外負(fù)載的能力。簡單地說,利用新動(dòng)易SiteAzure 幫助客戶建立起來的網(wǎng)站平臺具有一種彈性,在系統(tǒng)擴(kuò)展過程中,能夠保證旺盛的生命力,通過很少的改動(dòng),就能實(shí)現(xiàn)整個(gè)系統(tǒng)處理能力的增長。
同時(shí),動(dòng)易SiteAzure 的可伸縮性極大地減少系統(tǒng)日后的維護(hù)開銷,而且高可伸縮性往往會具有更好的容災(zāi)能力,從而為客戶提供更好的用戶體驗(yàn)。
● 全新架構(gòu)動(dòng)易SiteAzure 的N層架構(gòu)設(shè)計(jì),為系統(tǒng)提供了充分的可伸縮的特性,使平臺擴(kuò)展性能夠適應(yīng)各種信息化網(wǎng)站平臺的規(guī)模和應(yīng)用需求?;仡櫨W(wǎng)站規(guī)模由小到大不斷發(fā)展變化的演變過程,可以發(fā)現(xiàn)具有充分可伸縮性架構(gòu)的平臺可以滿足網(wǎng)站不斷發(fā)展的功能和性能需求。因此,平臺可伸縮性的N層架構(gòu)設(shè)計(jì)是網(wǎng)站平臺可持續(xù)發(fā)展的核心保證。
● 系統(tǒng)可以在 N 層架構(gòu)間實(shí)現(xiàn)分布式部署,使用 Web 服務(wù)器集群及數(shù)據(jù)庫為集群以及將 IO 操作頻繁的文件存儲在文件服務(wù)器中,保證了系統(tǒng)在橫向和縱向上的伸縮性。
● 系統(tǒng)使用面向接口的方式在層與層之間進(jìn)行數(shù)據(jù)通信,以減少層間的直接耦合性,方便了各層進(jìn)行獨(dú)立伸縮和擴(kuò)展。
● 全局獨(dú)立的緩存處理組件及相應(yīng)的接口可以在單服務(wù)器向服務(wù)器集群轉(zhuǎn)換的過程中使用分布式緩存來確保緩存的可用性及命中率。
● 可以使用云部署的方式進(jìn)一步提升系統(tǒng)的可伸縮性。
五、開放性
全新架構(gòu)的動(dòng)易SiteAzure 將讓客戶時(shí)刻具有前瞻性,能夠充分考慮網(wǎng)站平臺未來發(fā)展的可擴(kuò)充性。動(dòng)易 SiteAzure 在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)充分考慮到了客戶對未來系統(tǒng)開放性的需求,提供了豐富的開發(fā)接口,以適應(yīng)各種不同的應(yīng)用需要。
1. 模板的開放性
新架構(gòu)的模板使用標(biāo)準(zhǔn)的 Asp.net MVC 視圖技術(shù)開發(fā)。此視圖有以下好處。
● 視圖基于 HTML 語義化。
● 視圖與后臺業(yè)務(wù)邏輯分離,方便設(shè)計(jì)人員改動(dòng)。
● 擁有母版頁技術(shù),大幅度的提升模板的重用率,可以完成視圖公共部分的快速修改。
● 標(biāo)準(zhǔn)的 C# 語言支持,更低的入門門檻。
● 會MVC的即可以開發(fā)視圖, MVC 的相關(guān)資料非常充沛。
2. 所有開放給模板的接口均有詳細(xì)的API說明書,可方便與第三方業(yè)務(wù)系統(tǒng)進(jìn)行整合。
3. 公共部分采用 WebApi 的 RESTful 設(shè)計(jì)。
4. 采用WebApi方便和第三方移動(dòng)應(yīng)用程序及桌面應(yīng)用程序整合??捎善渌?App 等客戶端程序指定返回的數(shù)據(jù)格式,如 Json 、 Xml 等通用的數(shù)據(jù)格式。
5.所有產(chǎn)品均提供開放的標(biāo)準(zhǔn)版,提供給用戶下載學(xué)習(xí)使用,收集用戶使用后的反饋意見來更好的完善產(chǎn)品。
用戶登錄
還沒有賬號?
立即注冊