当前位置 博文首页 > java1234的博客:Sentinel异步调用支持方式定义资源

    java1234的博客:Sentinel异步调用支持方式定义资源

    作者:[db:作者] 时间:2021-06-06 17:22

    完整目录清单页面(必看)

    Sentinel 支持异步调用链路的统计。在异步调用中,需要通过 SphU.asyncEntry(xxx) 方法定义资源,并通常需要在异步的回调函数中调用 exit 方法。

    第一步:启动类加注解@EnableAsync,让项目支持异步调用支持

    @SpringBootApplication
    @EnableAsync
    public class SentinelHelloWorldApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(SentinelHelloWorldApplication.class,args);
        }
    }
    

    第二步:创建AsyncService异步调用类以及方法

    package com.java1234.service;
    
    import org.springframework.scheduling.annotation.Async;
    import org.springframework.stereotype.Service;
    
    /**
     * @author java1234_小锋
     * @site www.java1234.com
     * @company Java知识分享网
     * @create 2021-05-27 13:18
     */
    @Service
    public class AsyncService {
    
        @Async
        public void doSomethingAsync(){
            System.out.println("async start...");
            try {
                Thread.sleep(4000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            System.out.println("async end...");
        }
    }
    
    

    第三步:创建Controller方法

    @RequestMapping("helloWorld4")
    public void helloWorld4(){
    	AsyncEntry asyncEntry =null;
    	try {
    		asyncEntry = SphU.asyncEntry("helloWorld4");
    		asyncService.doSomethingAsync();
    	} catch (BlockException e) {
    		System.out.println("系统繁忙,请稍后!");
    	}finally {
    		if(asyncEntry!=null){
    			asyncEntry.exit();
    		}
    	}
    }
    

    第四步:Sentinel控制台新增流控规则

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SWkUoVmA-1622179693328)(image-20210527154900301.png)]

    第五步:测试

    浏览器请求:http://localhost/helloWorld4

    正常访问控制台输出:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pY64Xf2r-1622179693335)(image-20210527155009805.png)]

    频繁访问控制台输出:

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CP1hy1Du-1622179693341)(image-20210527155020592.png)]

    微信搜一搜【java1234】关注这个放荡不羁的程序员,关注后回复【资料】有我准备的一线大厂笔试面试资料以及简历模板。

    下一篇:没有了