数据方面高可用方案简单总结
“数据”是一个公司的核心资产,数据丢失或不可用则将是一个严重事故。如何做到高可用,其实三个核心点: 冗余,可用,扩容
冗余一般都是复制机制将数据分发在不同的机器上,保证数据非单点存储
可用保证服务不中断,当master挂了,能自动切到salve 上
扩容一般当数据存储容量不足,可通过分片或分区来往外增加增加容量空间
- MYSql
1.镜像,基本冗余保证了,但当服务不可用时需要手动切换另外一台。
2.镜像+KeppLive , 冗余有了,也能自动切了,但Kepplive 挂了呢?
3.PCX或MHA , 冗余有了,能自动切,但不能扩容,机器至少三台
4.MYCat中间件 ,支持分片扩容。
以上4种方案可组合使用,没有最好,只有适合不适合。
- Reids
1.主从模式,冗余有了,无法自动切
2.主从+哨兵 ,可以自动切了
3.Codis , 集群并支持动态扩容
- RabbitMQ
镜像+集群 冗余有了,能自动切,但没有扩容的好方案,目前知道就 元数据结构或队列中全量数据的同步。
- KafKa
有分区,可以动态扩容,增加新的Broker 或 Partition即可,集群就不必说了必须有的。
以上简单总结,欢迎探讨。
更多精彩文章,请关注公众号:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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,谁才是开发者新宠?