架構演化


初始簡單架構結構

適用於前期用戶少,訪問少,所有的硬件軟件資源都集成在一部服務器上面,對於一些小型的網站,要求並發比較少的可以滿足。
數據庫一般使用的是MySQL,開源免費易操作。但是可能WEB邏輯多時,需要多次查表或者更新的時候,讀寫速度就不太好了,瓶頸在數據庫層。
可以調優MySQL,增加MySQL緩存等。下面是初始架構的升級版,增加memcached緩存來提高WEB應用的處理訪問速度。
 
初始簡單架構結構升級版
web應用需要修改,將取數據庫的操作先去取memcached,然后再操作數據庫。更新數據時也需要更新memcached和數據庫。對web應用需要做的事情會更多。
在改進web應用時可以對某些耗時間特別長的邏輯做相應的改動。
這種架構的故障風險較大,memcached掛起了,會造成更長的訪問時間。這個可以通過配置 memcached.socketTO來做一些事情。
由於應用服務、數據庫服務和緩存服務都在一部服務器上,風險大大增加。下面將對服務進行分離。
 
初始簡單架構結構服務分離版
緩存可以放在應用服務器本地緩存里,也可以獨立緩存服務器出來。
服務器分離后,各個服務器之間的交互會被網絡帶寬制約,這個是需要注意的。
如果任一台服務器掛了,會對整個服務都有影響,具體問題具體分析。

主從架構結構
采用負載均衡搭配分發,web應用搭建兩部web服務器,緩存服務器一塊,數據庫采用兩部MySQL,配置主從復制,保證數據一致。
如果任一WEB服務器崩潰,另一部可以提供服務,負載均衡會檢測是否WEB服務器故障而做分發。同樣的,一部數據庫掛起,另一部同樣可以提供服務。
 
主從架構升級版結構
 
可以搭載更多的WEB服務器,或者更多的數據庫服務器,數據庫架構的策略可以按實際情況而定,一般是一主多從,二主多從,雙主備等...
 
集群架構結構
有兩套集群,比較重要的是實現數據庫數據同步和緩存數據同步。數據庫的同步策略和存儲策略是很值得研究和了解,網絡上也有大量的這種模型。比如使用cobar對MySQL分庫等。
還需要不斷學習和實踐,各位有想法可以提出來探討辣。
 
 博客園為原文:http://www.cnblogs.com/zhongshengzhen/p/deploy.html
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM