网站高可用方案
前端:vanish squid等代理緩存
? ? ?動(dòng)態(tài)數(shù)據(jù)緩存:對(duì)于不是經(jīng)常變化的用memcached 如果跟微博差不多的場(chǎng)景可以用redis
數(shù)據(jù)庫(kù):
為了備份和恢復(fù):可以用主從 對(duì)于主-》從-》從 有個(gè)參數(shù)log_slave_update參數(shù)決定后面兩個(gè)從是否寫日志
一主多從也可以作為讀寫分離:
1)innodb引擎插入性能好,myisam查詢性能好 ,在做讀寫分離時(shí)可利用下
2)數(shù)據(jù)庫(kù)的設(shè)計(jì)和業(yè)務(wù)索引建立,對(duì)于大數(shù)據(jù)量也很重要
在此:個(gè)人簡(jiǎn)單表述下:
=》對(duì)于innodb引擎表是b+索引,索引有三大特征:索引高度低(在500億數(shù)據(jù)中查詢 id=xxx時(shí)差距不大) ?索引有序(可以讓group by union等操作避免排序==》排序?qū)?nèi)存和cpu消耗很大,應(yīng)該盡量避免) 索引存儲(chǔ)列值 (如果只需要返回索引字段,可以避免回表操作,如果只需返回少量數(shù)據(jù),有索引和沒有索引差距也大,但是返回?cái)?shù)據(jù)量大時(shí),優(yōu)化器會(huì)選擇全表掃描=》也可以用force強(qiáng)制走索引,但是意義不大)
==》對(duì)于b+索引:在count(*) ?sum ?avg等聚合函數(shù) max ?min group by等都起到很好效果,在大數(shù)據(jù)量下
===》位圖索引:更新少的字段 比如性別
====》函數(shù)索引 ?upper會(huì)消除索引,需要建函數(shù)索引 等等
對(duì)于服務(wù)器集群:lvs ha+keepalived 在中大型網(wǎng)站 也可以用
圖片,大文件:文件分布式系統(tǒng)(hadoop)?
對(duì)于大數(shù)據(jù)量的session問題:基于memcache的session共享
在對(duì)于數(shù)據(jù)不能丟失的場(chǎng)景:可以用程序雙寫(innodb引擎的事務(wù) 也會(huì)丟失少量數(shù)據(jù)還有mysql主從復(fù)制也會(huì))
在***系統(tǒng) 和電商系統(tǒng)中數(shù)據(jù)庫(kù)的設(shè)計(jì) 側(cè)重點(diǎn)不同 也會(huì)造成很大影響
這里簡(jiǎn)單分享一個(gè)小技巧:在***系統(tǒng)月初(記得不怎么清楚,但是只是為說(shuō)明一個(gè)場(chǎng)景) 要統(tǒng)計(jì)話費(fèi)訂單時(shí),由于插入數(shù)據(jù)過大,索引開銷大,導(dǎo)致服務(wù)器很慢,這種時(shí)候可以讓索引失效,速度會(huì)提升幾百倍,完后再重建索引。
未完待續(xù)。
轉(zhuǎn)載于:https://blog.51cto.com/2853725/1423153
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
                            
                        - 上一篇: Awesome Tools Site
 - 下一篇: Unity Hub安装Android B