zoukankan      html  css  js  c++  java
  • 数据方面高可用方案简单总结

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

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

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

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

    • MYSql

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

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

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

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

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

    • Reids

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

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

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

    • RabbitMQ

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

    •  KafKa

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

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

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

  • 相关阅读:
    dbcp 详细配置
    InetAddress
    Qrcode 二维码
    左值右值分析
    javaweb reponse 写出文件
    ehcache 在集群环境下 出现 Cause was not due to an IOException or NotBoundException
    lo4j 日志级别
    log4j xml配置
    cron 表达式
    RabbitMQ简介
  • 原文地址:https://www.cnblogs.com/wangzhiyong/p/9608756.html
Copyright © 2011-2022 走看看