小D课堂 - 新版本微服务springcloud+Docker教程_5-05熔断降级服务异常报警通知
笔记
5、熔断降级服务异常报警通知实战
    简介:完善服务熔断处理,报警机制完善
1、加入redis依赖
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
    2、配置redis链接信息
      redis:
        database: 0
        host: 127.0.0.1
        port: 6379
        timeout: 2000
3、使用
//监控报警
        String saveOrderKye = "save-order";
        String sendValue = redisTemplate.opsForValue().get(saveOrderKye);
        final String ip = request.getRemoteAddr();
        new Thread( ()->{
            if (StringUtils.isBlank(sendValue)) {
                System.out.println("紧急短信,用户下单失败,请离开查找原因,ip地址是="+ip);
                //发送一个http请求,调用短信服务 TODO
                redisTemplate.opsForValue().set(saveOrderKye, "save-order-fail", 20, TimeUnit.SECONDS);
            }else{
                System.out.println("已经发送过短信,20秒内不重复发送");
            }
        }).start();
开始
发送短信的key存储在Redis里面,5分钟后自动失效。失效后继续发送短信。


这里不再讲解Redis的安装步骤,本机默认已经安装好了。
下图是已经加压过的redis的包

mac本机启动redis的服务
启动成功后,spring boot链接redis
1、加入redis依赖
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
    2、配置redis链接信息
      redis:
        database: 0
        host: 127.0.0.1
        port: 6379
        timeout: 2000
加入maven的依赖

加上注释

指定Redis的链接信息
我们在application的下面去配置

会有快捷键的提示

选择这个

会生成这段代码

输入h再去选择host

生成 host。

输入por选择

生成port默认的端口是6379

最后还有一个timeout

最终配置

注入redis


写完以上代码发现这是一个同步的调用,调用完了再会继续往下走。所以我们需要创建一个线程去做。
用一个lamada表达式去做。

开一个子线程去发送短信。不影响我们整个流程

重新启动服务进行测试。把productService服务关闭


多次刷新页面访问

高并发的情况下 可以用redis的锁的机制,自行搜索
在方法多加一个参数 

我们可以输出ip地址,这样可以判断是哪台服务器出现了问题


小D课堂 - 新版本微服务springcloud+Docker教程_5-05熔断降级服务异常报警通知的更多相关文章
- 小D课堂 - 新版本微服务springcloud+Docker教程_4-04 高级篇幅之服务间调用之负载均衡策略调整实战
		
笔记 4.高级篇幅之服务间调用之负载均衡策略调整实战 简介:实战调整默认负载均衡策略实战 自定义负载均衡策略:http://cloud.spring.io/spring-cloud-stati ...
 - 小D课堂 - 新版本微服务springcloud+Docker教程_汇总
		
小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介 小D课堂 - 新版本微服务springcloud+Docker教程_1_02技术选型 小D课堂 - 新版本微服务s ...
 - 小D课堂 - 新版本微服务springcloud+Docker教程_1_01课程简介
		
笔记 ============================================= SpringCloud课程笔记.txt 第一章 课程介绍和学习路线 1.微服务架构SpringClou ...
 - 小D课堂 - 新版本微服务springcloud+Docker教程_5-04 feign结合hystrix断路器开发实战下
		
笔记 4.Feign结合Hystrix断路器开发实战<下> 简介:讲解SpringCloud整合断路器的使用,用户服务异常情况 1.feign结合Hystrix ...
 - 小D课堂 - 新版本微服务springcloud+Docker教程_6-03 高级篇幅之zuul常用问题分析
		
笔记 3.高级篇幅之Zuul常用问题分析和网关过滤器原理分析 简介:讲解Zuul网关原理和过滤器生命周期, 1.路由名称定义问题 路由映射重复覆盖问题 ...
 - 小D课堂 - 新版本微服务springcloud+Docker教程_5-03 feign结合hystrix断路器开发实战上
		
笔记 3.Feign结合Hystrix断路器开发实战<上> 简介:讲解SpringCloud整合断路器的使用,用户服务异常情况 1.加入依赖 注意:网上新旧版本问 ...
 - 小D课堂 - 新版本微服务springcloud+Docker教程_4-05 微服务调用方式之feign 实战 订单调用商品服务
		
笔记 5.微服务调用方式之feign 实战 订单调用商品服务 简介:改造电商项目 订单服务 调用商品服务获取商品信息 Feign: 伪RPC客户端(本质还是用http) ...
 - 小D课堂 - 新版本微服务springcloud+Docker教程_4-02 微服务调用方式之ribbon实战 订单调用商品服务
		
笔记 2.微服务调用方式之ribbon实战 订单调用商品服务 简介:实战电商项目 订单服务 调用商品服务获取商品信息 1.创建order_service项目 2 ...
 - 小D课堂 - 新版本微服务springcloud+Docker教程_5-06 高级篇幅之深入源码
		
笔记 6.高级篇幅之深入源码剖析Hystrix降级策略和调整 简介:源码分析Hystrix降级策略和调整 1.查看默认讲解策略 HystrixCommandProperties ...
 
随机推荐
- Linux--磁盘检查简单介绍
			
系统莫名其妙的掉电或磁盘发生问题非常可能导致文件系统的错乱,文件系统若发生错乱,可以使用fsck(file system check)命令进行检查. 使用权限:root用户 选项和参数: -a:检测到 ...
 - 生成漂亮报告的Go语言代码检查工具
			
上篇文章,老司机给各位同学介绍了Go语言的静态代码测试“三板斧”以及Go语言的testing类库. “三板斧”简洁明了,但是缺点也很明显,命令行执行,命令行输出.适合研发攻城狮看,不适合交给领导过目. ...
 - sql server 备份
			
USE WAP_WORKSHEET; GO BACKUP DATABASE WAP_WORKSHEET TO DISK = 'E:\SQL\Data\backup\WAP_WORKSHEET.Bak' ...
 - MyBatis-09-Lombok
			
9.Lombok Project Lombok is a java library that automatically plugs into your editor and build tools, ...
 - VMware ESXi 和 VMware Server 有区别
			
VMware ESXi 和 VMware Server 有区别: VMware ESXi 是一个企业级虚拟机管理程序,提供接近本机性能的祼机体系结构.各种旨在提高整合率的功能(例如取消内存复制),以及 ...
 - vue项目环境的搭建
			
首先要明白Vue是基于node的,在公司要使用vue来开发项目的话肯定是要先安装node的,下面是搭建一个最简单的vue项目环境 一 安装node 这个可以去node的官网下载对应版本 安装好之后 c ...
 - 数据结构系列文章之队列 FIFO
			
转载自https://mp.weixin.qq.com/s/ILgdI7JUBsiATFICyyDQ9w Osprey 鱼鹰谈单片机 3月2日 预计阅读时间: 6 分钟 这里的 FIFO 是先入先出 ...
 - php操作kafka
			
php操作kafka----可以参照网上的安装步骤,先安装ldkafka rdkafka,然乎启动zookeeper和kafka服务器 <?php //$conf = new Rdkafka\P ...
 - mysql查询疯狂41例
			
援引自 http://www.cnblogs.com/wupeiqi/articles/5748496.html 一.表关系请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生 ...
 - jmeter结果树乱码的解决方案