中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

分布式大數據高并發的web開發框架怎么理解

發布時間:2022-01-14 15:25:11 來源:億速云 閱讀:121 作者:柒染 欄目:云計算

分布式大數據高并發的web開發框架怎么理解,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

分布式大數據高并發的web開發框架

一、引言

通常我們認為靜態網頁html的網站速度是最快的,但是自從有了動態網頁之后,很多交互數據都從數據庫查詢而來,數據也是經常變化的,除了一些新聞資訊類的網站,使用html靜態化來提高訪問速度是不太現實的方案。我們不得不在代碼與數據庫之間尋求一種更合適的解決方案。

減少數據庫訪問次數,文件和數據庫分離,大數據分布式存儲,服務器的集群負載均衡,頁面緩存的使用,nosql內存數據庫代替關系型數據庫,這些方案措施都是提高系統高并發性能的關鍵,下面一一分解。

二、分解

(1)      分布式服務器集群

A) 文件服務器集群

圖片、視頻、其他下載文件,它們的下載通常是占用網絡帶寬的罪惡魁首,這些資源一定要獨立放在帶寬好的文件服務器上,能提供http協議訪問地址使用,不至于在下載文件時影響web服務器的cpu運算。

文件服務器最好使用磁盤陣列中心存儲,比如阿里云提供的文件云服務器,這樣使用簡單,使用多大帶寬多大存儲空間選擇就好了。

如果沒有中心存儲,也可以做文件服務器集群,如下圖

分布式大數據高并發的web開發框架怎么理解

說白了就是每個文件服務器都安裝一個簡單的web api作為文件傳輸和訪問的接口,可以手動分配服務器地址給 web 程序使用,當然也可以做一層簡單的負載均衡器供web程序統一接口調用。

需要注意的是:web api 接口上傳文件結果一定要返回特定服務器完整的http文件下載地址,這個地址要存入數據庫。

文件服務器的數量:文件服務器之間都相對獨立,沒有數據關聯,因此數量的多少主要是看帶寬的承載量和硬盤空間的大小,動態擴展服務器后,只需把服務器地址加入 web程序的調用列表即可達到無限擴展容量的機制。

B) Web服務器集群

不管是windows系統,還是linux系統,單臺服務器的性能和資源都是有限的,支持的連接并發數都有上限,因此必須采用多服務器集群的方法才能提高連接并發數。連接并發數的容量計算也很容易:

  連接并發數= 服務器1并發數+服務器2并發數+……+ 服務器n并發數

當然,我們不能都給每臺web服務器分配一個域名地址訪問,肯定是同一個域名同一個入口,例如百度后面有成百上千臺web服務器,但是我們都是使用 www.baidu.com 一個入口,至于這個入口會自動給我們分配一臺web服務器訪問,我們不會在意這臺web服務器的具體地址是多少,這就是負載均衡器的作用。

分布式大數據高并發的web開發框架怎么理解

在硬件充裕的情況下,mongodb集群建議采用多副節點的集群模式,不僅提高訪問性能,也保證了數據安全完整性能。

Gemfire內存數據庫

Gemfire是很多年前就已經商業化了的nosql內存數據庫,經過了多家大型機構的使用考驗,更幸運的是,在2015年4月發布其開源版本Geode,可能在不久的將來得到更廣泛的使用。

除了開源nosql內存數據庫,國內外的巨頭都已經在研究自己的內存數據庫,比如oracle, ibm , 阿里等等,nosql內存數據庫大有代替關系型數據庫的趨勢。

朋友們可以去研究每個內存數據庫的優劣勢,不管使用那種產品,我們無非就是解決兩個問題:1、內存數據庫保證快速訪問;2、服務器集群存儲大數據。至于如何搭建環境大家可以查找相關資料。

(2)      負載均衡器

負載均衡服務器分為硬件均衡服務器和軟件均衡服務器,目的就是統一提供一個訪問入口來訪問服務器集群,并且能夠動態監控每個服務器的負載,把新的用戶請求轉給負載小的服務器。

硬件服務器就是直接購買獨立的服務器作為負載均衡服務器,例如阿里云已經提供。

軟件服務器使用具有代理功能的軟件作為轉發服務器,比如Nginx,HAProxy,LVS 等等,具體安裝部署大家可以搜索相關資料。

(3)      緩存技術

從上面我們可以看出,web服務器與數據庫服務器是分布在不同的服務器上的,也就是web程序從數據庫獲取數據時,通過網絡tcp/ip協議進行網絡數據傳輸,當查詢的數據量過大時,網絡帶寬速率很可能變為瓶頸,高并發在線時,將會很大影響整體系統的效率。

我們使用緩存技術解決這個問題。這里就涉及到相關業務了,一般來說,我們根據具體的業務,把數據分為兩類:

1、 一類是不經常變的數據,比如表結構,公共設置數據,省市縣名錄等等,這些數據我們將會作為永久緩存數據,我們將會一次性讀取數據庫全部記錄緩存到web服務器本地長久保存,并且定時檢測數據庫是否有更新的數據,如果有更新,則再更新本地緩存數據;

2、 另一類是經常變的數據,對于這種數據,需要每次讀取時都從數據庫讀取,往往這類數據也包含海量的數據,讀取數據庫時將不能一次性讀取,只能分頁讀取,緩存數據保存的時間也不宜太長。

緩存的工具也很多,比如 .net里自帶的MemoryCache,java 的有 ehcache ,都是比較出名的緩存。

三、綜合

綜上所述,我們就可以設計我們的整體方案圖如下:

 

四、開發框架

ErpCore是一套強大的快速開發框架,集數據庫設計、軟件建模、模型自動生成、界面可視化設計、業務流可自定義、全自動生成用戶所需系統于一體。在此框架上擴展出所有行業的業務系統,它讓軟件工程師從“建模——寫代碼——測試”所有繁瑣重復的工作變為全自動化生成,大大簡化了企業軟件的開發時間和成本。

1、自動建模

  框架內部帶有虛擬數據庫系統,用戶可在虛擬數據庫上創建表、字段、表間關聯,企業根據自己的具體業務需求構建合適的數據庫架構,即通過自動化實現銷售業務人員將能完成DBA的工作。業務流程將變成企業自定義。

2、自定義對象

  對應于虛擬數據庫上創建表、字段、表間關聯,用戶可自定義對象、對象屬性、對象關聯。奠定了可以擴展出符合所有行業所有業務系統可能性。

3、窗體表單可視化設計

  通過拖拽拉的方式,業務人員即可創建軟件使用界面,把界面關聯起來即可實現不用編碼就能創建所需的業務系統。

4、全自動創建子系統

  管理員在后臺通過創建對象、創建窗體,并集成成一個子系統,普通使用人員就能使用子系統進行工作,不需額外開發工作。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

襄城县| 沅陵县| 建水县| 高碑店市| 盐山县| 固镇县| 繁昌县| 桦川县| 彭水| 开平市| 油尖旺区| 东平县| 青河县| 宁化县| 中西区| 兰西县| 兴安县| 元江| 鄂尔多斯市| 辉县市| 中西区| 孝昌县| 石门县| 孝感市| 古丈县| 于都县| 尤溪县| 福鼎市| 宁国市| 海宁市| 如皋市| 大连市| 富蕴县| 三台县| 宝山区| 泸西县| 江门市| 五家渠市| 兰溪市| 中超| 上思县|