接入層
dns輪詢實現負載均衡:以華為云舉例
域名解析可以配置50條a記錄,dns會根據權重返回ip,智能解析還支持根據地址位置、運營商等返回ip。大流量的可以返回f5的地址。
缺點是
1、沒有健康檢查,如果后面的主機掛掉,dns仍然會轉發請求。
2、擴容不是實時的,有delay
lvs+keeplived
代理層
Nginx
lvs和nginx是可以實時水平擴展的。結合下面的數據就可以實現億級流量設計。
nginx?官方測試5w,實際生產2-4w
lvs 約承受量是 100k 的 QPS
f5?約承受量是 1M 的 QPS
一臺 Web Server 約承受量是 1k 的 QPS (考慮到邏輯處理時間以及數據庫查詢的瓶頸)
?一臺 SQL Database 約承受量是 1k 的 QPS(如果 JOIN 和 INDEX query比較多的話,這個值會更小)
?一臺 NoSQL Database (Cassandra) 約承受量是 10k 的 QPS
?一臺 NoSQL Database (Memcached) 約承受量是 1M 的 QPS