高并发场景案例分享(一)分库分表

本文分享了一次重构高并发、海量数据服务的经验,涉及MySQL分库分表策略和索引、字段设计。强调了根据业务需求和性能监控来决定分库分表的时机,以及在高并发下优化索引的重要性,提供了多个实战案例。
摘要由CSDN通过智能技术生成

今年在公司重构(写)了一个老项目,踩了无数的坑。

中间好几次遇到问题,甚至感觉项目可能要失败了,好在最后终于成功上线了。

虽然被坑的不要不要的,但也从中领悟到了不少东西,在这里记录一下,顺便分享给大家乐呵乐呵。

先简单介绍下项目,一个面向C端用户的服务,主要提供包括动态、评论、圈子、好友、关注、Feed等常见的社区功能,另外还有其他一些个性化的功能。

日活比较高,整个服务QPS上万。高频业务,单个接口QPS上千。单项业务数据量过亿,比如评论。

图1.qps监控图

在上述高并发、海量数据的情况下,整个系统设计时需要注意的坑,和我总结的一些经验:

数据库层面

MySQL分库分表

因为是重写整个项目,包括重新设计底层数据库,必然要考虑到分库分表。

最初在网上参考了一些分库分表的原则,实际操作中,发现大部分资料都有些缥缈。

如果是简单的应用怎么分表,甚至不分都可以。所以这些原则你也不能说它是错的,但在你最需要参考的时候,这些原则往往不够深入。

分享下我个人总结的一些经验:

先说分库

分库的主要目标,应该是缓解主库(Master)的压力。

绝大部分服务都是读多写少,在读写分离,1主1备N从的情况下,即便为了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值