写点什么

3/28 业务系统高可用设计(下)

作者:hackstoic
  • 2024-05-03
    福建
  • 本文字数:856 字

    阅读完需:约 3 分钟

数据库

本方案中数据库采用了阿里云 MySQL RDS 产品,架构如下

数据库的高可用设计方案

  • 采用多可用区部署,提供可用区级别的容灾

  • 采用一主一备的高可用方案。 RDS MySQL 集群版实例采用计算与存储分离、一主多备的架构,支持自动故障切换、任意备节点可切换为主节点、备节点可读、按需增删节点、多可用区容灾、节点粒度的监控、集群节点拓扑管理等功能

  • 创建灾备实例。灾备节点放在和主节点不一样的可用区, 通过 DTS 实现主实例和异地灾备实例之间的实时同步。主实例和灾备实例均搭建主备高可用架构,当主实例所在区域发生突发性自然灾害等状况,主节点(Master)和备节点(Slave)均无法连接时,可将异地灾备实例切换为主实例,在应用端修改数据库链接地址后,即可快速恢复应用的业务访问

  • 设置自动备份。 为减少误操作或数据库异常时的不可用时间,建议您设置实例每隔一段时间自动备份,以便出现问题时及时恢复到最近的数据。

  • 增加一个冷备节点。冷备节点放在不同地域,比如新加坡。 如果出现地域级别故障时,导致数据丢失时, 冷备节点的数据可以用来恢复当前业务数据,但是要能接受一定的 RPO 损失,比如 24 小时。

消息队列

本方案中消息队列采用了阿里云的 RocketMQ 产品. 云消息队列 RocketMQ 版本身采用了高可用部署方案。 其架构如下

其服务集群都采用了多可用区部署,每个数据都会有三个副本,其服务的 SLA 可以达到 99.95%。

另外阿里云 RocketMQ 支持重置消费点位,当消费出现异常或者当前消费位点不符合您的预期时,您可以通过重置消费位点调整您的消费进度

缓存

本方案中消息队列采用了阿里云的 Redis 产品. 云数据库 Redis 双副本集群版实例本身采用了高可用部署方案,基于集群架构,可满足高吞吐、低延迟及弹性变配等业务需求,服务的 SLA 达 99.95%。其部署架构如下:

数据分片(data shards): 每个数据分片均为双副本(分别部署在不同机器上)高可用架构,主节点发生故障后,系统会自动进行主备切换保证服务高可用。部署时选择双可用区部署

配置服务器(config server):采用双副本高可用架构,用于存储集群配置信息及分区策略。部署时选择双可用区部署

发布于: 刚刚阅读数: 5
用户头像

hackstoic

关注

还未添加个人签名 2017-11-24 加入

TGO深圳会员,某创业公司联合创始人&技术负责人, 解决方案架构师,资深韭菜(A股/美股/加密货币),博弈论(depu)爱好者

评论

发布
暂无评论
3/28  业务系统高可用设计(下)_架构设计_hackstoic_InfoQ写作社区