基于MySQL的高性能高可用数据库集群部署方案

 

公司最近在研发电商品7.0产品,重新设计了商城的整体架构。一款产品要满足三高(高性能、高可用、高扩展)的要求,除了优秀的后端架构还得有优秀的数据库部署设计来做支撑。后端架构设计不在此篇博客描述范围内,主要说一下数据库的部署设计。

    数据分类
    整个商城系统可以拆分几大模块:用户、店铺、商品、订单、支付、物流,针对这些模块所存储的数据大致可以分为高价值数据、普通数据,具体根据业务来区分。譬如:订单、支付模块的数据为高价值数据,用户、店铺、商品、物流模块为普通数据。高价值数据严格要求数据强一致性,而普通数据对一致性要求可以稍微第一点儿,因为在数据库层面要求强一致性就必然会牺牲高性能,CAP理论中也阐述了“三选二”原理。普通数据中可能有一部分是热点数据,那么就会要求高性能(高可用)同样也会牺牲部分一致性,为了尽量满足性能会用到一部分缓存和NoSQL数据库来支撑。

    集群部署
    MySQL数据库集群部署方案常用的有两种:PXC方案和Replication方案。这两套方案中PXC方案支持双向数据同步要求强一致性,Replication方案支持单向数据同步(不支持双向数据同步)不要求强一致性。

    数据切分
MySQL数据库单表容量超过5000万性能就会急速下降,需要水平切分数据表了。常用的方案就是业界有名MyCat中间件,根据自定义逻辑表规则切分数据表。

    部署方案
    综上所述,整理了一个能满足以上场景的方案。PXC集群用来做强一致性存储高价值数据,Replication集群则用来支撑高可用存储普通数据,上层用MyCat做一个数据表水平切分,每个分片为一个集群。最终架构图如下:

Alt text

博主地址 ——凤松轩博客 - 一个小小文艺范儿的个人

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值