• HystrixLearn(1)


    https://github.com/Netflix/hystrix/wiki

    1. Hystrix需求场景

    在分布式系统中,不可避免的会遇到 依赖的其他服务出现失败情况,

    多个后端程序,一个host多个模块依赖. 通过分布式,部署在n个机器上,大量的请求,到host上,后边需要使用多个依赖服务,当某一个依赖服务出现问题,则相关的请求累计在host上,很容易引发系统崩溃,主host崩溃,影响其他依赖的正常使用

    2. 简单功能概述

    HYXTRIX提供了通过添加延迟容忍,可容忍判断逻辑来帮助 协调各个分布式 依赖服务的情况. 通过在服务之间添加 隔离点,来提供给用户 停止失败叠加累计,和异常响应机制等功能. 提高系统整体弹性

    3. 支持的功能

    1. 当通过第三方放依赖出现失败,提供容错保护
    2. 在分布式系统中,针对某个依赖 停止失败叠加(某个依赖出现异常,就不全请求,导致整个服务崩溃)
    3. 应急保护机制(提供 失败后的处理方法)
    4. 近乎实时的 监控 警告 和 操作控制

    4. 实现原理

    1. 将所有的请求都封装到HyxtrixCommand 或HyxtrilObserverCommand对象中,对象通常再单独线程中执行(命令模式的一种实践)
    2. 支持自定义超时阈值
    3. 为每个依赖服务,维护一个线程池,如果一旦放满,立刻拒绝服务,不会在队列中排队
    4. 度量成功、失败(客户机抛出的异常)、超时和线程拒绝
    5. 可以在指定周期断开 对某个依赖服务的所有请求,或者 当失败率到指定比例 自动断开(熔断)
    6. 失败会 会有 应急计划 fallback方法
  • 相关阅读:
    mysql 赋给用户权限 grant all privileges on
    ubuntu下aptget安装小型的lamp环境
    Linux系统进程管理
    SQLChapter1_Overview of SQL Server
    SQLChapter2Querying Data
    SQLexercise
    SQLChapter4Managing Databases and Table
    JavaUI添加事件(二)
    java ActionEventDemo
    JavaUI弹出对话框
  • 原文地址:https://www.cnblogs.com/yaoxublog/p/10875689.html
Copyright © 2020-2023  润新知