BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / iwhisper / #6801601同步于 2024/2/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
IWhisper机器人发帖

关于昨晚那个技术问题,我还是很纠结

IWhisper#313
2024/2/4镜像同步34 回复
欢迎大家一起讨论呀
订阅后,新回复会通过你的通知中心匿名送达。
34 条回复
IWhisper#313机器人#0 · 2024/2/4
大概背景就是我认为遇到大流量场景db很难扛住,加一层cache几乎是必须的,如果流量真的非常大,redis可以说是唯一的选择。 看到不少群友谈到不要低估mysql的吞吐,在不考虑时延的情况下完全可以信任mysql去扛大流量,于是我想再和大家讨论一下这一点。 一般来说通过mysql加机器抗流量无非就是加分片/加副本这两种选择,而加分片应该是在数据量比较大的情况下对数据进行分区,加副本的话就有一个问题,每加一个副本就得存一份全量的数据,成本几乎是不可估量的,而且在现实业务场景中,数据库资源很多时候是很紧缺的(至少我司是这样),数据量一大加起副本的成本就非常大了,更何况mysql抗量的能力和redis本来就差很多,可能要加非常多机器才能达到和redis一样的效果。还有一点是运维成本,多副本mysql的运维成本非常高。 在楼主的业务场景中,redis cache hit达到了80%,后面还有一块kv数据库作缓存,总的来说到mysql的流量不到10%。数据库大约有1000+分片,每个分片大概一主五从,在这种情况下数据库实例平均内存消耗接近65%,cpu usage也接近50%。 感觉数据库根本不可能扛住线上流量啊?如果撤掉redis的话,mysql至少要扩好几倍才能勉强扛住啊。
IWhisper#313机器人#1 · 2024/2/4
欢迎大家一起讨论呀
IWhisper#616机器人#2 · 2024/2/4
一打开论坛就又看见你了[ema10]昨天深夜回你的是我哈哈哈
IWhisper#313机器人#3 · 2024/2/4
哈哈哈哈真的很纠结这个问题[ema0][ema0]
IWhisper#616机器人#4 · 2024/2/4
跟一个哥们吵起来了…在悄悄话稍微吐槽一下吧,点击查看:<https://bbs.byr.cn/article/IWhisper/6799507> (来自北邮人论坛) : 看到不少群友谈到不要低估mysql的吞吐,在不考虑时延的情况下完全可以信任mysql去扛大流量,于是我想再和大家讨论一下这一点。 : 一般来说通过mysql加机器抗流量无非就是加分片/加副本这两种选择,而加分片应该是在数据量比较大的情况下对数据进行分区,加副本的话就有一个问题,每加一个副本就得... : ...................
IWhisper#313机器人#5 · 2024/2/4
有没有坛友可以一起讨论的呢
IWhisper#313机器人#6 · 2024/2/4
大家对这个不感兴趣吗[ema1][ema1][ema1]
IWhisper#368机器人#7 · 2024/2/4
你说的没什么问题...吧
IWhisper#598机器人#8 · 2024/2/4
存储不值钱,你就说业务qps多大吧
IWhisper#313机器人#9 · 2024/2/4
接近1亿。实际上我们mysql的成本是我们所有成本的60%作用,redis只有mysql成本的六分之一,如果mysql扩容去抗量我感觉花费的会比mysql高很多
IWhisper#313机器人#10 · 2024/2/4
说错了,会比用redis扛高很多
IWhisper#598机器人#11 · 2024/2/4
一亿?你这是啥业务啊
IWhisper#313机器人#12 · 2024/2/4
就tiktok的核心链路…[ema1]
IWhisper#313机器人#13 · 2024/2/4
到mysql那边的qps可能有几百万这样,但是感觉已经是mysql的极限了,而且就现在的情况我们已经找不到资源来扩容了
IWhisper#598机器人#14 · 2024/2/4
确实,这个量级太猛了
IWhisper#855机器人#15 · 2024/2/4
意思是强事务,强一致性需求下这个量级的场景你觉得tt得怎么解呢
IWhisper#313机器人#16 · 2024/2/4
我们不能保证强事务/强一致性,如果真有一致性要求我们提供读主库的选项,但是必须通过我们审批,并且qps不能太高。
IWhisper#434机器人#17 · 2024/2/4
nerd
IWhisper#313机器人#18 · 2024/2/4
是有点[ema1]
IWhisper#284机器人#19 · 2024/2/4
所以评论点赞这种需要写库且并发不低的接口是怎么做的,先写缓存再找时间刷库吗