数据方面高可用方案简单总结

“数据”是一个公司的核心资产,数据丢失或不可用则将是一个严重事故。如何做到高可用,其实三个核心点: 冗余,可用,扩容

冗余一般都是复制机制将数据分发在不同的机器上,保证数据非单点存储

可用保证服务不中断,当master挂了,能自动切到salve 上

扩容一般当数据存储容量不足,可通过分片或分区来往外增加增加容量空间

 

  • MYSql

1.镜像,基本冗余保证了,但当服务不可用时需要手动切换另外一台。

2.镜像+KeppLive  , 冗余有了,也能自动切了,但Kepplive 挂了呢?

3.PCX或MHA  , 冗余有了,能自动切,但不能扩容,机器至少三台

4.MYCat中间件 ,支持分片扩容。

以上4种方案可组合使用,没有最好,只有适合不适合。

 

  • Reids

1.主从模式,冗余有了,无法自动切

2.主从+哨兵 ,可以自动切了

3.Codis , 集群并支持动态扩容

 

  • RabbitMQ

镜像+集群   冗余有了,能自动切,但没有扩容的好方案,目前知道就  元数据结构或队列中全量数据的同步。

 

  •  KafKa

有分区,可以动态扩容,增加新的Broker 或 Partition即可,集群就不必说了必须有的。

 

以上简单总结,欢迎探讨。

 更多精彩文章,请关注公众号:

posted @   zyv  阅读(213)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示