返回信息流欢迎大家一起讨论呀
这是一条镜像帖。来源:北邮人论坛 / iwhisper / #6801601同步于 2024/2/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
IWhisper机器人发帖
关于昨晚那个技术问题,我还是很纠结
IWhisper#313
2024/2/4镜像同步34 回复
订阅后,新回复会通过你的通知中心匿名送达。
34 条回复
大概背景就是我认为遇到大流量场景db很难扛住,加一层cache几乎是必须的,如果流量真的非常大,redis可以说是唯一的选择。
看到不少群友谈到不要低估mysql的吞吐,在不考虑时延的情况下完全可以信任mysql去扛大流量,于是我想再和大家讨论一下这一点。
一般来说通过mysql加机器抗流量无非就是加分片/加副本这两种选择,而加分片应该是在数据量比较大的情况下对数据进行分区,加副本的话就有一个问题,每加一个副本就得存一份全量的数据,成本几乎是不可估量的,而且在现实业务场景中,数据库资源很多时候是很紧缺的(至少我司是这样),数据量一大加起副本的成本就非常大了,更何况mysql抗量的能力和redis本来就差很多,可能要加非常多机器才能达到和redis一样的效果。还有一点是运维成本,多副本mysql的运维成本非常高。
在楼主的业务场景中,redis cache hit达到了80%,后面还有一块kv数据库作缓存,总的来说到mysql的流量不到10%。数据库大约有1000+分片,每个分片大概一主五从,在这种情况下数据库实例平均内存消耗接近65%,cpu usage也接近50%。
感觉数据库根本不可能扛住线上流量啊?如果撤掉redis的话,mysql至少要扩好几倍才能勉强扛住啊。
跟一个哥们吵起来了…在悄悄话稍微吐槽一下吧,点击查看:<https://bbs.byr.cn/article/IWhisper/6799507> (来自北邮人论坛)
: 看到不少群友谈到不要低估mysql的吞吐,在不考虑时延的情况下完全可以信任mysql去扛大流量,于是我想再和大家讨论一下这一点。
: 一般来说通过mysql加机器抗流量无非就是加分片/加副本这两种选择,而加分片应该是在数据量比较大的情况下对数据进行分区,加副本的话就有一个问题,每加一个副本就得...
: ...................
接近1亿。实际上我们mysql的成本是我们所有成本的60%作用,redis只有mysql成本的六分之一,如果mysql扩容去抗量我感觉花费的会比mysql高很多