mysql :
大規模,高併發web服務器體系結構:
MySQL複製,Nginx , LNMP , Memcached , Tomcat(java, servlet,集羣),varnish(squid)
NoSQL (redis , mongodb)
mysql-bin.index :二進制日誌文件索引文件
MySQL Replication
MySQL主從複製邏輯架構
master/slave
二進制日誌/中繼日誌 relay log
多級複製
複製的作用 :
輔助實現備份
高可用
異地容災
scale out :分攤負載
讀寫分離模型 :
主從架構中,不使用MySQL代理 ,如何讓主的負責寫,從的負責讀
雙主模型 :無法減輕寫操作 ;
scale out
分庫 垂直拆分
水平拆分
scale on
讀寫分離工具:
mysql-proxy
amoeba
數據拆分:
cobar
配置MySQL複製基本步驟 :
一、master
1、啓用二進制日誌
log-bin=master-bin
log-bin.index=master-bin.index
2、選擇一個惟一server-id
server-id={0-2^32}
3、創建具有複製權限的用戶
REPLICATION SLAVE
REPLICATION CLIENT
二、slave
1、啓用中繼日誌
relay-log=
relay-log.index=
2、選擇一個惟一的server.id
server-id={0-2^32}
3、連接至主服務器,並開始複製數據
複製線程 :
master: dump線程
slave : IO_Thread, SQL_Thread
架構示意圖