springCloud(12):使用Hystrix实现微服务的容错处理-Hystrix的监控

一、简介

Hystrix提供了几乎实时的监控。HystrixCommand和HystrixObserv-ableCommand在执行时,会生成执行结果和运行指标,比如每秒执行的请求数、成功数等,这些监控数据对分析应用系统的状态很有用。

使用Hystrix的模块hystrix-metrics-event-stream,就可将这些监控的指标信息以text/event-stream的格式暴露给外部系统。spring-cloud-starter-hystrix已包含该模块,在此基础上,只须为项目添加spring-boot-starter-actuator,就可使用/hystrix.stream端点获得Hystrix的监控信息了。

我们以前的项目spring-hystrix-consumer中就已经包含了spring-cloud-starter-hystrix、spring-boot-starter-actuator,启动访问:http://localhost:8086/user/1 后,再访问:http://localhost:8086/manage/hystrix.stream ,会重复出现如下内容:

二、操作实现

时间: 2024-10-12 14:51:39

springCloud(12):使用Hystrix实现微服务的容错处理-Hystrix的监控的相关文章

springCloud(11):使用Hystrix实现微服务的容错处理-简介与实现

一.问题引入 如果服务提供者响应非常缓慢,那么消费者对提供者的请求就会被强制等待,直到提供者响应或超时.在高负载场景下,如果不作任何处理,此类问题可能会导致服务消费者的资源耗尽甚至整个系统的崩溃. 1.1.雪崩效应 微服务架构的应用系统通常包含多个服务层.微服务之间通过网络进行通信,从而支撑起整个应用系统,因此,微服务之间难免存在依赖关系.任何微服务都并非100%可用,网络往往也很脆弱,因此难免有些请求会失败. 我们通常把"基础服务故障"导致"级联故障"的现象称为雪

springcloud-hystrix断路器对微服务的容错处理

使用Hystrix实现微服务的容错处理 1.实现容错的手段 如果服务提供者响应的速度特别慢,那么消费者对提供者的请求就会强制等待,直到提供者响应或者超时.在高负载的情况下,如果不做任何处理,此类问题可能会导致服务消费者的资源耗尽甚至整个系统的崩溃.例如曾经发生的一个案例,某个电子商务网站在某个星期五发生过载,过多的并法请求,导致用户支付请求延迟很久没有响应,在等待很长时间后最终失败,支付失败又导致用户重新刷新页面再次尝试支付,进一步增加了服务器的负载,最终整个系统崩溃了. 1.1雪崩效应 我们常

微服务熔断限流Hystrix之流聚合

简介 上一篇介绍了 Hystrix Dashboard 监控单体应用的例子,在生产环境中,监控的应用往往是一个集群,我们需要将每个实例的监控信息聚合起来分析,这就用到了 Turbine 工具.Turbine有一个重要的功能就是汇聚监控信息,并将汇聚到的监控信息提供给Hystrix Dashboard来集中展示和监控. 流程 实验 工程说明 工程名 端口 作用 eureka-server 8761 注册中心 service-hi 8762 服务提供者 service-consumer 8763 服

springcloud vue.js 前后分离 微服务 分布式 activiti工作流 集成代码生成器 shiro权限

1.代码生成器: [正反双向](单表.主表.明细表.树形表,快速开发利器)freemaker模版技术 ,0个代码不用写,生成完整的一个模块,带页面.建表sql脚本.处理类.service等完整模块2.多数据源:(支持同时连接无数个数据库,可以不同的模块连接不同数的据库)支持N个数据源3.阿里数据库连接池druid,安全权限框架 shiro(菜单权限和按钮权限), 缓存框架 ehcache4.代码编辑器,在线模版编辑,仿开发工具编辑器5.调用摄像头拍照 自定义裁剪编辑头像,头像图片色度调节6.we

【SpringCloud】(1)---基于RestTemplate微服务项目案例

基于RestTemplate微服务项目 在写SpringCloud搭建微服务之前,我想先搭建一个不通过springcloud只通过SpringBoot和Mybatis进行模块之间额通讯.然后在此基础上再添加SpringCloud框架. 下面先对案例做个说明 该项目有一个maven父模块,其中里面有三个子模块:  serverspringcloud:整体父工程.    serverspringcloud-api:公共子模块,放公共实体对象.  serverspringcloud-provider-

springCloud(16):使用Zuul构建微服务网关-容错回退与高可用

一.容错与回退 1.1.容错 在Spring Cloud中,Zuul默认已经整合了Hystrix. 测试: a.依次启动eureka-server(4010).provide-user(4011).hystrix-consumer-movie(5012).microservice-gateway-zuul(5016).hystrix-dashboard(5013) b.访问http://localhost:5016/hystrix-consumer-movie/user/1,可正常获取结果 c.

Docker1.12 + Swarm 构建动态微服务应用

导读 我们在之前提到过一个示例,即一款由前端与多项后端服务共同构成的微服务应用.其中前端为Traefik HTTP代理,负责将各项请求路由至后端服务.而后端则非常简单,是一套基于Go的HTTP Web服务器,负责返回其运行所在的容器ID. 新的Docker Swarm不再需要为应用容器设置独立的HTTP代理.如上图所示的原有架构现在被精简为下图所示的形式: 移动部件更少了——赞! 另外,我们还为后端服务内置了负载均衡机制.我们甚至能够立足于集群内的任一节点访问这些服务.Docker Swarm还

springCloud(1):微服务简介

一.什么是微服务 微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API). 二.微服务架构特性 1.每个微服务可独立运行在自己的进程里 2.一系列独立运行的微服务共同构建起整个系统 3.每个服务为独立的业务开发,一个微服务只关注某个特定的功能,如:订单管理 4.微服务之间通过一些轻量级的通信机制进行通信,例如:通过RESTful API进行调用 5.可以使用不同的语言与数据存储技术 6.全自动的部署机制

springCloud(3):微服务的注册与发现(Eureka)

一.简介 服务消费者需要一个强大的服务发现机制,服务消费者使用这种机制获取服务提供者的网络信息.即使服务提供者的信息发生变化,服务消费者也无须修改配置. 服务提供者.服务消费者.服务发现组件三者之间的关系大致如下: 1.各个微服务在启动时,将自己的网络地址等信息注册到服务发现组件中,服务发现组件会存储这些信息. 2.服务消费者可以从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供者的接口. 3.各个微服务与服务发现组件使用一定机制(如:心跳)通信,服务发现组件如长时间无法与某微服务