Cache和DB结构分析:
Memcached: 缓存,主要解决读写DB的性能问题。
SlaverDB:
1)起到数据备份的作用。
2)主库读写压力大时,作为读库,减轻主库压力。(引入数据同步的延时问题)
故障分析:
1. 性能问题:
MC单点故障时,节点上的key失效,需从DB读取。
解决方案:
为尽量避免单点故障,引入cache复制(冗余)来实现。
使用repcached(? memangt)来进行 memcached replication
2. 数据同步问题:
从SlaverDB读取,因为需要从MasterDB到SlaverDB同步数据,可能存在数据延时问题。
解决方案:
1) 考虑系统初期数据量较小,MC失效时,直接从MasterDB读取。(SlaverDB主要起备份作用)
2) 采用Memcached replication 尽量降低单点故障,Memcached数据与MasterDB是同步的,同时减小了使对MasterDB的压力。