SpringCloud 2020.0.4 系列之Hystrix看板

SpringCloud 在Feign 上使用 Hystrix SpringCloud 中使用 Hystrix 一般有两个形式: 在RestTemplate 和 Ribbon 上使用 Hystrix 在Feign 上使用 Hystrix 前一种方法可以看这篇文章,今天学习第二种方法。 一:创建 eureka-feign-hystrix-client 服务 1.1 在主Maven工程中创建一个新的 Module 工程,命名为eureka-feign-hyst... 阅读详情

. 概述

老话说的好:沉默是金,有时适当的沉默,比滔滔不绝更加有效。

言归正传,前面我们聊了有关 Hystrix 降级熔断的话题,今天我们来聊聊如何使用 turbine 和 hystrix dashboard 总览项目的熔断降级情况。

闲话不多说,直接上代码。

2. 暴露业务服务的 actuator 接口

2.1 主要依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
            <version>2.2.9.RELEASE</version>
        </dependency>

2.2 主要配置

management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always

2.3 启动类中需包含 @EnableHystrix 注解

2.4 启动服务,查看接口是否暴露

启动服务后,在浏览器输入 http://服务IP:端口/actuator/,查看是否有 hystrix.stream 接口

3. 新建 turbine 工程

3.1 主要依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!-- 健康检查 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
            <version>2.2.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-turbine</artifactId>
            <version>2.2.9.RELEASE</version>
        </dependency>

3.2 主要配置

spring:
  application:
    name: my-turbine
  main:
    allow-bean-definition-overriding: true
server:
  port: 38000
management:
  server:
    port: 38001
eureka:
  client:
    service-url:
      defaultZone: http://zhuifengren1:35000/eureka/,http://zhuifengren2:35001/eureka/    # Eureka Server的地址
    healthcheck:
      enabled: true    # 开启健康检查, 依赖于 spring-boot-starter-actuator
  instance:
    lease-renewal-interval-in-seconds: 5      # 发出续约指令的间隔,默认30秒
    lease-expiration-duration-in-seconds: 30  # 租期到期时间,默认90秒

turbine:
  app-config: my-feign,my-eureka-client    # 指定需要监控的服务名,监控多个服务逗号分隔
  cluster-name-expression: '"default"'  # 集群名称
  combine-host-port: true     # 将端口和hostname作为区分不同服务的条件
  aggregator:
    cluster-config: default

3.3 在启动类增加注解

@EnableDiscoveryClient
@EnableHystrix
@EnableTurbine
@EnableAutoConfiguration
public class MyTurbineApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyTurbineApplication.class, args);
    }
}

3.4 启动 turbine 工程,验证接口

启动 turbine 工程后,在浏览器输入 http://服务IP:端口/turbine.stream,调用降级接口后,会显示很多过程数据

4. 新建 hystrix dashboard 工程

注意:此工程不需要注册到 Eureka

4.1 主要依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
            <version>2.2.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
            <version>2.2.9.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

4.2 主要配置

spring:
  application:
    name: my-hystrix-dashboard
  main:
    allow-bean-definition-overriding: true
server:
  port: 39000

4.3 在启动类增加注解

@EnableHystrixDashboard
@SpringCloudApplication
public class MyHystrixDashboardApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyHystrixDashboardApplication.class, args);
    }
}

4.4 启动 hystrix dashboard 服务

4.4.1 启动 hystrix dashboard 服务,然后在浏览器输入 http://服务IP:端口/hystrix

4.4.2 在 Hystrix Dashboard 页面输入 turbine 的地址:http://服务IP:端口/turbine.stream,点击 Monitor Stream 按钮

4.4.3 Unable to connect to Command Metric Stream. 报错解决方案

此时,会报 Unable to connect to Command Metric Stream 字样的错误。

这是因为 turbine 地址的域名不在 hystrix dashboard 的允许列表中, 我们在配置文件中增加 hystrix.dashboard.proxy-stream-allow-list 配置,重启服务即可

spring:
  application:
    name: my-hystrix-dashboard
  main:
    allow-bean-definition-overriding: true
server:
  port: 39000


hystrix:
  dashboard:
    proxy-stream-allow-list: "localhost"

4.4.4 刷新页面,查看 dashboard

5. 综述

今天聊了一下 Hystrix看板,希望可以对大家的工作有所帮助。

springcloud系列20——Turbine聚合各个节点的hystrix.stream 前言 我们在之前讲过,在单个的Hystrix的应用中,我们使用/hystrix.stream可以查看监控数据,如果想以图表的形式更直观的查看监控数据,再结合dashboard就可以了。 但是,如何同时监控多个应用或集群呢? 我们需要使用springcloud提供的Turbine,它是将各个应用的/hystrix.stream进行聚合的组件。我们在dashboard中输入/turbine.strea... 阅读详情

相关推荐

【SABRE 3D, SABRE 3DxT,LAM设备】2025年9月12日-生产期间维护用的双重隔离

生产期间维护用的双重隔离。该程序用于准备将一个或多个双工位设置为维护状态,同时SABRE 3D/3DxT/3D Scimitar保持生产运行。其目的是在不中断生产的情况下将双工位与运行中的设备隔离。

weixin_46735260的博客 574

(SpringCloud成长笔记(八)Hystrix Dashboard监控看板

SpringCloud成长笔记(八)Hystrix Dashboard监控看板一、简介二、环境搭建三、源码四、运行五、github源码六、参考资料 一、简介 除了之前我们用的zipkin可以监控服务间的调用情况,这里我们再看看Hystrix的Dashboard的效果。 二、环境搭建 上一个工程 在这个工程的基础上进行调整。 三、源码 1、pom.xml的依赖 <!-- 如果提示 Unable...

爱互联网的JAVABean 490

RandLA-Net复现SemanticKITTI和S3DIS数据集

RandLA-Net复现KITTI和室内数据集

weixin_48845174的博客 4111

SpringCloud2.0 Hystrix Dashboard 断路器指标看板 基础教程(八)

1、启动基础工程 1.1、启动【服务中心】集群,工程名称:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 1.2、启动【服务提供者】集群,工程名称:springcloud-eureka-client 参考 SpringCloud2.0 Eureka Client 服务注册 基础教程(三...

weixin_34055910的博客 179

基于STM32F407与AD9910/AD9959的高频可调DDS信号源设计与实战

本文详细介绍了基于STM32F407微控制器与AD9910/AD9959高性能DDS芯片的高频可调信号源设计与实现。文章从DDS原理入手,阐述了双芯片方案的优势,并重点分享了高频电路设计中的电源、PCB布局布线等关键硬件设计技巧与避坑指南。同时,提供了通过SPI配置DDS芯片及利用Matlab生成任意波形的软件驱动方法,旨在帮助开发者打造一个覆盖10Hz至4200MHz的实用信号发生器。

weixin_36184718的博客 120

HFSS15 win10_64位破解

HFSS15 win10_64位破解 找到的别人的软件,但在首次安装时失败了,并不能patched。寻找了几种方法,已成功安装。在此写下安装经验,供大家参考。 软件安装包以及破解软件: 链接:https://pan.baidu.com/s/1MMjV_31maU5QD6fmI4zfIA 提取码:yj4q 在安装之前,建议关闭杀毒软件。 Step1:进入HFSS150Win64安装包,点击au...

玉笙寒 4万+

Springcloud服务监控中心-Springboot Admin 2.X(三)——监控中心介绍

1.wallboard(看板):可以看到每个服务实例,点击进去监控的详情 2.applications(概览): 3.journal(上线日志):application上线日志 4.Applications Details 5.metrics 6.Environment 7.JMX 8.Threads 9.Http Traces ...

程序员精进之路 2759

TypeScript的安装与使用

TypeScript的安装与使用

qq_51589308的博客 600

4【源码】数据可视化:基于 Echarts +Java SpringBoot 实现的动态实时大屏范例-厦门市某医院

数据可视化大屏的出现,掀起一番又一番的浪潮,众多企业主纷纷想要打造属于自己的“酷炫吊炸天”的霸道总裁大屏驾驶舱。 之前有小伙伴们建议我出一些视频课程来学习Echarts,这样可以更快上手,所以我就追星赶月的录制了《Echarts - 0基础入门课程》,希望对有需要的小伙伴有帮助。 传送门 YYDatav的数据可视化大屏《精彩案例汇总》(Java SpringBoot&Echarts源码)_YYDataV的博客-优快云博客 5【源码】数据可视化:基于Echarts+JavaSpringBoo

记录项目交付的日常 3405

有效Dk值提取方法的仿真分析

通过本文的仿真对比分析,提取有效Dk值方面,TDR技术在一些固定的场景下,依然有其参考应用价值,而随着VNA功能的不断增强和高精度测量手段的不断更新,双端口Delta-L技术才是主流评估方法,而单端口Delta-L技术则可以作为其降本增效的方案补充。

一只豌豆象的博客 1824

58子站安居,经纪人营销管理平台登录接口加密逆向

实战场景password 实战分析 本次要解决的站点依旧来源自78技术人社群,有朋友希望再次说明一下其登录模块的加密参数寻找与逆向逻辑,本文我们就一起分析一下。 站点地址为:vip.anjuke.com/portal/login 通过开发者工具,可以简简单单的寻找到相应的数据。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 2万+

SpringCloud之熔断器Hystrix

前言 SpringCloud 是微服务中的翘楚,最佳的落地方案。 在微服务架构中多层服务之间会相互调用,如果其中有一层服务故障了,可能会导致一层服务或者多层服务 故障,从而导致整个系统故障。这种现象被称为服务雪崩效应。 SpringCloud 中的Hystrix 组件就可以解决此类问题,Hystrix 负责监控服务之间的调用情况,连续多次失败的 情况进行熔断保护。保...

我的博客 6万+

思远耳机充电芯片-SY5501

BES2700ZP-本文档介绍了思远耳机充电芯片SY5501的使用方法,包括芯片引脚功能说明(VCC、IRQ、RST等)、通信机制(VIN引脚的双重作用)以及相关注意事项。提供了代码片段、调试日志和电路图作为参考,并列出了待解决的问题清单。该芯片需要配合特定充电仓使用,支持私有协议和用户自定义通信功能。

云淡风轻 123

springCloud2020.0.1或以上 版本Feign使用Hystrix无效问题

springCloud2020.0.1或以上 版本Feign使用Hystrix无效问题

weixin_45977659的博客 2661

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Spring Cloud 2020.0.0正式发布,再见了Netflix

再见了Netflix,你好Spring Cloud

架构师:通透,才能写出好代码! 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

聊聊目前最新的SpringCloud 2020.0 系列的重大更新,再见了Netflix

由于最近使用了目前最新的 Springboot 2.5.0-RC1,在整合 SpringCloud 2020.0.3版本 过程中,发现了版本似乎进行了巨大的更新(确实很久没有关注过Spring了。。。)! 整体了解了下,顺便和大家也聊一聊这次更新吧,本周还准备在发一篇SpringCloud组件源码级分析,带领大家手撕源码 ^ - ^ (截止稿前 2021/04/23 官方还未同步标注好当前最新版本为2020.0.3,实际上Springboot 2.5.0稳定版本已经默认集成该版本) 先简单聊.

qq_919325340的博客 5486

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Spring Cloud 2020.0发布,移除了Hystrix、Zuul等Netflix组件

1. 前言2020 年 12 月 22 日Spring官方博客宣布,Spring Cloud 2020.0.0正式发布。2020.0.0是第一个使用新的版本号命名方案的Spring Cl...

码农小胖哥 8338

SpringCloud 2020.0.5 集成Hystrix实现服务熔断

SpringCloud 2020.0.5 项目搭建

Lyndon的专栏 889

springcloud Hystrix Dashboard微服务监控

摘要: Spring Cloud Hystrix Dashboard 提供微服务监控功能,通过实时记录 HystrixCommand 的执行指标(如请求成功率、失败率等),并借助 Netflix 的 hystrix-metrics-event-stream 实现数据采集。Spring Cloud 将其整合为可视化界面,方便运维。 实战步骤: 新建监控工程:创建 microservicecloud-consumer-hystrix-dashboard 项目,引入相关依赖(如 Hystrix Dashboard

ywl470812087的博客 12万+

SpringCloud2.0 Hystrix Dashboard 断路器指标看板

原文:https://www.cnblogs.com/songlu/p/9973856.html 1、启动基础工程 1.1、启动【服务中心】集群,工程名称:springcloud-eureka-server 参考SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 1.2、启动【服务提供者】集群,工程名称:springc...

dgqvhtlwq472235338的博客 146

SpringCloud-2020.0.3版本简单入门

文章目录Eureka服务注册与发现一、概述1、CAP原则2、Eureka介绍二、服务构建1、建立父子聚合项目2、建立Eureka注册中心3、建立Provider服务4、建立Consumer消费端5、优化与提高OpenFeign负载均衡一、概述二、服务构建1、多模块负载均衡搭建2、优化与提高Spring Cloud Gateway网关一、概述二、服务构建1、Gateway网关搭建2、Gateway网关配置详解3、优化与提高 Spring Cloud 2020.0.0版本北京时间2020.12.22发布,彻底删

Shawn的个人博客 1698

Springcloud 集成 Hystrix

熔断、降级 相同的目的:从可用性和可导性出发,防止系统运行缓慢或者崩溃 相同的结果:用户发现某些功能暂时不可用 不同的触发点:熔断一般都是由于下游服务异常,系统自动监测触发;降级多是出于对系统整体负荷考虑的,可人工干预触发的(抢购活动时,部分非热点服务下线,【配置中心,服务开关】) 不同的实现的方式:熔断一般都是框架级别的,每个服务都需要的;降级需要考虑业务层次(降级都由最外层服务开始) 重试、阻塞、超时、幂等 由于服务调用失败(超时,异常),可以配置失败重试策略,但同时需要考虑重试接口..

qq_34253002的博客 1181

SpringCloud Hystrix 断路器

介绍 Hystrix断路器

快乐的小三菊的博客 1440

Springcloud中hystrix的详细使用

1.服务的降级 1.1导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId&

weixin_45842529的博客 1023
上一篇: 到底能不能用 join
下一篇: 15个问题自查你真的了解java编译优化吗?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值