zoukankan      html  css  js  c++  java
  • 小D课堂

    笔记

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







     

  • 相关阅读:
    2014深圳华为机试剖析
    Tomcat J2ee 发布步骤
    Delphi实现无标题有边框的窗体
    所谓的湖南普天科技不是一般的坑
    struts2文件异步上传
    Adobe Flash Builder 4.7下载地址及破解补丁(32位&64位)
    从浏览器启动客户端程序
    delphi非IE内核浏览器控件TEmbeddedChrome下载|TEmbeddedChrome代码
    delphi中EmbeddedWB网页html相互调用(二)
    delphi中WEBBrowser网页html相互调用(一)
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11449154.html
Copyright © 2011-2022 走看看