Oracle發布《 面向大規??缮炜s網站基礎設施的MySQL參考架構 》白皮書,針對將MySQL用作數據存儲的不同類型和不同規模的網站給出了推薦的拓撲結構。
根據分別提供4類服務——用戶和會話管理、電子商務、分析類應用 (多結構數據)和CMS(元數據)——的網站的規模和可用性要求(如下表所示),這份白皮書給出了4個參考架構。
請注意,這里給出的指導方針只是基本建議,實際應用中需要根據讀寫模式、負載平衡和所用的緩存機制等因素進行調整。
小型(Small)網站參考架構
這一參考架構可用于上述4類網站的所有小型實現??梢允褂肕ySQL Replication來制作數據的副本以支持備份和分析。
中型(Medium)網站參考架構
在這種情況下,推薦針對不同類型的活動選擇獨立的基礎設施,考慮每個MySQL服務器最多支持8個應用服務器,如果因伸縮性需求應用服務器數量增加,則添加更多的MySQL從服務器。
為滿足會話管理網站和電子商務網站的高可用性要求,可以使用 Linux心跳(Heartbeat) 和半同步復制。CMS網站通常對讀操作的向外擴展有更高要求,假定每個MySQL從服務器最多可以處理3000個并發用戶,白皮書建議為每個MySQL主服務器添加20-30個從服務器。CMS系統可將數據保存在一個SAN中,或者保存在連接到該服務器的分布式設備中。
會話管理網站和CMS網站推薦使用Memcached,這有助于減輕應用服務器和MySQL服務器的負擔。
分析類網站的拓撲結構簡單一些,1個主服務器加3個從服務器就能解決問題。
大規模(Large)網站參考架構
針對大規模網站,白皮書推薦使用MySQL Geographic Replication來進行跨數據中心的數據庫復制,這種方式支持跨越地理上分離的集群進行異步復制。
會話管理網站和電子商務網站應該使用集群,白皮書聲稱“4個數據節點,1秒可以支持6000個會話(頁面點擊),其中每次頁面點擊生成8–12個數據庫操作”。大規模CMS網站使用的配置與中型網站類似,只是必要時需要多添加一些從服務器。針對分析類應用,這里引入了一個數據提煉(Data Refinery)單元,用于數據的清理和組織。
超大規模(Extra Large)網站參考架構
針對社交網站,白皮書也給出了相應建議。它聲稱“網絡上流量最大的10個網站有9個部署了MySQL,其中包括Google、Facebook和YouTube”,但是沒有說明這些網站用MySQL干什么,不過眾所周知的是,LinkedIn成功應用了MySQL。
社交網站的拓撲結構利用了中型和大規模網站中實現的概念,包括專用應用服務器、Memcached和數據提煉單元, 但為支持寫操作的向外擴展引入了分片(Shard)。MySQL集群被用于用戶的認證和查找,當“用于查找的鍵(key)不止1個”時,直接讀寫相應的分片。
MySQL主服務器和從服務器的推薦規格如下:
- 8–16個x86-64位CPU核心(MySQL 5.5及以上)。
- 4–8個x86 -64位CPU核心(MySQL 5.1及更早版本)。
- 比活動數據多3–10倍的內存。
- Linux、Solaris或Windows操作系統。
- 最少4塊磁盤,8–16塊磁盤能增加I/O密集型應用的性能。
- 支持電池供電高速緩存的硬件RAID。
- 推薦使用RAID 10。如果負載為讀密集型,RAID 5也是合適的。
- 2個網卡和2個供電單元用作冗余。
另外,白皮書還有一些針對MySQL集群和數據存儲設備的建議,再就是用于監控、備份和集群管理的解決方案。
查看英文原文 : MySQL Reference Architectures for Small to Extra Large Websites
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
