hystrix与高可用系统架构相关概念

简介: hystrix与高可用系统架构相关概念

1 面试题

就是现在,一般来说,互联网的面试,一般都会考察你,什么是分布式系统,高并发,简单的高可用问题。限流、熔断、降级,在分布式的系统架构中,微服务架构中,其实都是最常见、基础和简单的保障系统高可用的手法。dubbo去开发了,spring cloud去开发了,在这个系统的接口调用中,我们是用hystrix去实现一整套的高可用保障机制,基于hystrix去做了限流、熔断和降级。


hystrix是国外的netflix开源的,netflix是国外很大的视频网站,系统非常复杂,微服务架构,多达几千个服务,为自己的场景,经过大量的工业验证,线上生产环境的实践,产出和开源了高可用相关的一个框架,熔断框架,hystrix。


如何用hystrix做限流、熔断和降级。以及这些都是什么鬼?如何使用hystrix来在你的系统中做开发,加入高可用的保障机制?


2 hystrix作用

hystrix未来会成为国内的高可用的限流、熔断和降级这一块的事实上的标准,spring cloud微服务框架,就是集成了hystrix来做微服务架构中的限流、降级和熔断的。


前半部分,专注在高并发这一块,缓存架构,承载高并发,在各种高并发导致的令人崩溃/异常的场景下,运行着


缓存架构,高可用性,在各种系统的各个地方有乱七八糟的异常和故障的情况下,整套缓存系统还能继续健康的run着


HA,HAProxy,主备服务间的切换,这就做到了高可用性,主备实例,多冗余实例,高可用最最基础的东西


什么样的情况下,可能会导致系统的崩溃,以及系统不可用,针对各种各样的一些情况,然后我们用什么技术,去保护整个系统处于高可用的一个情况下


3 hystrix是什么

netflix(国外最大的类似于,爱奇艺,优酷)视频网站,五六年前,也是,感觉自己的系统,整个网站,经常出故障,可用性不太高


有时候一些vip会员不能支付,有时候看视频就卡顿,看不了视频。。。


影响公司的收入。。。


五六年前,netflix,api team,提升高可用性,开发了一个框架,类似于spring,mybatis,hibernate,等等这种框架


高可用性的框架,hystrix


hystrix,框架,提供了高可用相关的各种各样的功能,然后确保说在hystrix的保护下,整个系统可以长期处于高可用的状态,100%,99.99999%


最理想的状况下,软件的故障,就不应该说导致整个系统的崩溃,服务器硬件的一些故障,服务的冗余


唯一有可能导致系统彻底崩溃,就是类似于之前,支付宝的那个事故,工人施工,挖断了电缆,导致几个机房都停电


不可用,和产生一些故障或者bug的区别


4 高可用系统架构

资源隔离、限流、熔断、降级、运维监控


4.1 资源隔离

让你的系统里,某一块东西,在故障的情况下,不会耗尽系统所有的资源,比如线程资源


我实际的项目中的一个case,有一块东西,是要用多线程做一些事情,小伙伴做项目的时候,没有太留神,资源隔离,那块代码,在遇到一些故障的情况下,每个线程在跑的时候,因为那个bug,直接就死循环了,导致那块东西启动了大量的线程,每个线程都死循环


最终导致我的系统资源耗尽,崩溃,不工作,不可用,废掉了


资源隔离那一块代码,最多最多就是用掉10个线程,不能再多了,就废掉了,限定好的一些资源


限流:高并发的流量涌入进来,比如说突然间一秒钟100万QPS,废掉了,10万QPS进入系统,其他90万QPS被拒绝了


4.2 熔断

系统后端的一些依赖,出了一些故障,比如说mysql挂掉了,每次请求都是报错的,熔断了,后续的请求过来直接不接收了,拒绝访问,10分钟之后再尝试去看看mysql恢复没有


4.3 降级

mysql挂了,系统发现了,自动降级,从内存里存的少量数据中,去提取一些数据出来


4.4 运维监控

监控+报警+优化,各种异常的情况,有问题就及时报警,优化一些系统的配置和参数,或者代码

目录
相关文章
|
7月前
|
SQL 监控 关系型数据库
MySQL主从复制:构建高可用架构
本文深入解析MySQL主从复制原理与实战配置,涵盖复制架构、监控管理、高可用设计及性能优化,助你构建企业级数据库高可用方案。
|
8月前
|
运维 监控 搜索推荐
MSE ZooKeeper:Flink 高可用架构的企业级选择
本文深入解析了 Apache Flink 架构中 ZooKeeper 的核心作用,包括 Leader 选举、Checkpoint 管理、作业协调及配置管理等关键功能,并结合金融风控与电商推荐等典型场景,分析了 ZooKeeper 在实际应用中的技术实现。
|
6月前
|
运维 监控 安全
公链开发中的高可用架构设计要点
本指南提供公链高可用架构的可复用流程与模板,涵盖目标拆解、先决条件、分步执行、故障排查及验收标准,结合跨链DApp与量化机器人案例,提升落地效率与系统稳定性。
|
资源调度 监控 调度
基于SCA的软件无线电系统的概念与架构
软件通信体系架构(SCA)是基于软件定义无线电(SDR)思想构建的开放式、标准化和模块化平台,旨在通过软件实现通信功能的灵活配置。SCA起源于美军为解决“信息烟囱”问题而推出的联合战术无线电系统(JTRS),其核心目标是提升多军种联合作战通信能力。 上海介方信息公司的OpenSCA操作环境严格遵循SCA4.1/SRTF标准,支持高集成、嵌入式等场景,适用于军用通信、雷达等领域。 SCA体系包括目标平台资源层(TRL)、环境抽象层(EAL)、SRTF操作环境(OE)及应用层(AL)。其中,SRTF操作环境包含操作系统、运行时环境(RTE)和核心框架(CF),提供波形管理、资源调度等功能。
|
7月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
11月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3655 57
|
9月前
|
文字识别 运维 监控
架构解密|一步步打造高可用的 JOCR OCR 识别服务
本文深入解析了JOCR OCR识别服务的高可用架构设计,涵盖从用户上传、智能调度、核心识别到容错监控的完整链路,助力打造高性能、低成本的工业级OCR服务。
389 0
架构解密|一步步打造高可用的 JOCR OCR 识别服务
|
消息中间件 存储 设计模式
RocketMQ原理—5.高可用+高并发+高性能架构
本文主要从高可用架构、高并发架构、高性能架构三个方面来介绍RocketMQ的原理。
3419 21
RocketMQ原理—5.高可用+高并发+高性能架构
|
供应链 监控 安全
网络安全中的零信任架构:从概念到部署
网络安全中的零信任架构:从概念到部署
1257 75