博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小D课堂 - 新版本微服务springcloud+Docker教程_5-05熔断降级服务异常报警通知
阅读量:4324 次
发布时间:2019-06-06

本文共 1424 字,大约阅读时间需要 4 分钟。

笔记

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地址,这样可以判断是哪台服务器出现了问题
 

转载于:https://www.cnblogs.com/wangjunwei/p/11449154.html

你可能感兴趣的文章
S/4HANA中的销售计划管理
查看>>
【图灵学院09】RPC底层通讯原理之Netty线程模型源码分析
查看>>
非常的好的协同过滤入门文章(ZZ)
查看>>
数据结构:哈希表
查看>>
markdown 基本语法
查看>>
tensorflow之tf.slice()
查看>>
Python高阶函数-闭包
查看>>
Windows下安装Redis
查看>>
Ubuntu 12.04 部署 PostGIS 2.1
查看>>
手机web——自适应网页设计(html/css控制)
查看>>
*[codility]CartesianSequence
查看>>
Hadoop1重新格式化HDFS
查看>>
HttpClientUtil工具类
查看>>
random模块
查看>>
Windows FindFirstFile利用
查看>>
使用mptt在easyui中显示树形结构
查看>>
冒泡排序
查看>>
C#微型网页查看工具
查看>>
反射,泛型擦除
查看>>
20155339 《信息安全系统设计基础》课程总结
查看>>