一、架构设计理念
在集群架构设计时,主要遵从下面三个维度:可用性 、扩展性 、一致性
二、可用性设计
1 高可用
1 站点高可用,冗余站点
2 服务高可用,冗余服务
3 数据高可用,冗余数据
2 保证高可用的方法是冗余
1 需要考虑数据冗余带来的问题是数据一致性问题。
3 高可用架构
1 主从模式
简单灵活,能满足多种需求。比较主流的用法,但是写操作高可用需要自行处理。
2 双主模式
三、 扩展性设计
1 如何扩展以提高读性能
1 加从库
1 简单易操作,方案成熟。
2 从库过多会引发主库性能损耗。建议不要作为长期的扩充方案,应该设法用良好的设计避免 持续加从库来缓解读性能问题。
2 分库分表
可以分为垂直拆分和水平拆分,垂直拆分可以缓解部分压力,水平拆分理论上可以无限扩 展。
2 如何扩展以提高写性能
四、一致性设计
1 不使用从库
2 增加访问路由层
可以先得到主从同步最长时间t,在数据发生修改后的t时间内,先访问主库。
