有多少种不同的方法对有状态服务进行缩容?怎么做需要迁移 / re-hash 的数据量最小

143 天前
 RedisMasterNode

有状态服务例如:MySQL 、PG 、Redis (算半个吧毕竟当缓存用的时候不 care )、Prometheus

这些服务可以做 Sharding ,例如 10 个 MySQL 实例负责 Hash(xx) % 10 的数据范围,Prometheus 可以通过 Operator 实现。

但是有些设计不当的场景,这些有状态的服务可能过度扩容了,例如扩到了 10 个 MySQL 实例,实际上过了某个时间(例如双 11 )只需要 2 个就可以支撑业务。

有什么设计和缩容机制可以应对类似的场景呢?( PS:不需要局限于上面这个例子,例如等数据自然过期然后清理掉实例也算一种解决方案,不同的解决方案都适合什么样的场景?)

379 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1038394

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX