目錄
目錄X

新架構(gòu)的動(dòng)易SiteAzure特性之可靠性、高性能、可擴(kuò)展性、可伸縮性、開(kāi)放性

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

用戶(hù)登錄