高可用架构的设计

设计思路

分层:数据侧 网络侧 应用侧 组件侧 分项目:业务线1 业务线2 业务线3具体落实

风险:横向和纵向高可用 ,尤其尾大不掉的架构风险

科学设计:最终一致性模式 可查询模式 补偿模式 最大努力通知模式

参考:https://zoyi14.smartapps.cn/pages/note/index?slug=4328f332db9c&origin=share&_swebfr=1&_swebFromHost=baiduboxapp

可用性是什么?

可用性是一种安全属性,是信息安全三要素中的 A:

保密性(Confidentiality)
完整性(Intergrity)
可用性(Availablility)
高可用是系统的重要目标,其重要程度取决于系统的定位。
例如:
军用系统中保密性最重要(宁可毁掉也不能将机密落入敌手)
商业系统中完整性最重要(宁愿服务终止,账本泄露也不容许篡改)
然而保密性和完整性不能很好地量化,也就不适合用来评价一个系统的架构强弱。
可用性却是一个很适合量化的指标:系统能正常运行的时间占总时间的百分比。99%的可用性就表示系统保证在99%的时间内正常服务。
通常99.99%四个九称为高可用,载人航天中,这一标准是99.9999%。

————————————————
版权声明:本文为CSDN博主「傲游步虚」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yifeng_peng/article/details/88359810

一 具体运维操作关键词:

1 搭建
高可用集群(中间件 数据库等)
2 监控
健康检查 心跳检查 随时告警
3 告警响应 热备演练
收到告警 宕机一台 ,手动或自动 重启
4 容灾演练 异地冷备

二 架构设计

1 网络和基础系统架构侧 设计
负载均衡设备或集群
haproxy ?
nginx?
lvs?
硬件F5?
k8s高可用?

2 中间件(含数据库)侧 设计
中间件(数据库)高可用集群 通用原理
原文:
https://zoyi14.smartapps.cn/pages/note/index?slug=d1bf27f5f685&origin=share&hostname=baiduboxapp&_swebfr=1

关键词:
集群化部署 + 数据多副本冗余
为什么至少三台?
假设集群里有3台机器,那么其中一台宕机了,你后续再写入另外一台的时候,判断一下集群里还有剩余两台机器,足以保证数据双副本的高可用性和容错性,所以可以继续正常的写入数据到MQ集群里去。
集群里必须有超过2台机器可以接收你的数据副本复制。
具体的RabbitMQ、Kafka、RocketMQ等各种不同的消息中间件,对这种高可用架构的实现,都有一定的相似想通性,但是也都有各自不同的技术实现,以及相对应的区别。

3 应用业务系统侧 设计 (深入策略和细节)

负载策略?
熔断降级 业务类型和策略选型?
限流策略 要点?
重试策略?
超时时间?

应对连锁故障?
总结:应用业务侧微服务这些 熔断降级限流 是为了 运维侧 弹性扩容和弹性伸缩提供一个处理时间。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值