System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及springcloud领域,具体提供一种基于springcloud的合并请求方法及系统。
技术介绍
1、springcloud是微服务架构的集大成者,将一系列优秀的组件进行了整合。基于springboot构建。通过一些简单的注解,我们就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。
2、在互联网的高并发场景下,请求会非常多,但是数据库连接池比较少,或者说需要减少cpu压力,减少处理逻辑的,需要把单个查询,用某些手段,改为批量查询多个后返回。
3、在正常的分布式请求中,客户端发送请求,服务器在接受请求后,向服务提供者发送请求获取数据,这种模式在高并发的场景下就会导致线程池有大量的线程处于等待状态,从而导致响应缓慢,同时线程池的资源也是有限的,每一个请求都分配一个资源,也是无谓的消耗了很多服务器资源。
技术实现思路
1、本专利技术是针对上述现有技术的不足,提供一种实用性强的基于springcloud的合并请求方法。
2、本专利技术进一步的技术任务是提供一种设计合理,安全适用的基于springcloud的合并请求系统。
3、本专利技术解决其技术问题所采用的技术方案是:
4、一种基于springcloud的合并请求方法,接受请求后等待一段时间一次性处理等待的这一段时间然后以id为key,批量查询多个id的结果,批量查询完后,以id为key,返回给上游系统的单个查询。
5、进一步的,具有如下步骤
6、s1、构建合并类的方式实现请求合并;
7、s2、批量处理类;
8、s3、进行api调用。
9、进一步的,在步骤s1中,构建合并类的方式实现请求合并,请求合并类,通过创建构造方法来设置合并器的收集时间,即合并器一次收集客户端请求的时间;
10、然后通过收集请求器获取在这段时间内收集的所有请求参数,在传递给批量执行程序去批量执行,mapresponsetorequests方法获取返回的结果,并根据对应的request请求将结果返回到对应的request请求中。
11、进一步的,在步骤s2中,批量处理类,继承自hystrixcommand,用来处理合并之后的请求,在run方法中调用orderservice中的batchquery方法。
12、进一步的,在步骤s3中,进行api调用首先要初始化hystrix request context,创建order collapse command类的实例来发起请求。
13、一种基于springcloud的合并请求系统,接受请求后等待一段时间一次性处理等待的这一段时间然后以id为key,批量查询多个id的结果,批量查询完后,以id为key,返回给上游系统的单个查询。
14、进一步的,首先,进行构建合并类的方式实现请求合并,然后进行批量处理类;
15、最后进行api调用,首先要初始化hystrixrequestcontext,创建ordercollapsecommand类的实例来发起请求。
16、进一步的,构建合并类的方式实现请求合并,请求合并类,通过创建构造方法来设置合并器的收集时间,即合并器一次收集客户端请求的时间;
17、然后通过收集请求器获取在这段时间内收集的所有请求参数,在传递给批量执行程序去批量执行,mapresponsetorequests方法获取返回的结果,并根据对应的request请求将结果返回到对应的request请求中。
18、进一步的,批量处理类,继承自hystrixcommand,用来处理合并之后的请求,在run方法中调用orderservice中的batchquery方法。
19、本专利技术的一种基于spring cloud的合并请求方法及系统和现有技术相比,具有以下突出的有益效果:
20、本专利技术减少访问数据库的次数,单位时间内的多个请求,合并为一个请求。让业务逻辑层把单个查询的sql,改为批量查询的sql。或者逻辑里面需要调用redis,批量逻辑里面就可以用redis的pipeline去实现。
本文档来自技高网...【技术保护点】
1.一种基于SpringCloud的合并请求方法,其特征在于,接受请求后等待一段时间一次性处理等待的这一段时间然后以id为key,批量查询多个id的结果,批量查询完后,以id为key,返回给上游系统的单个查询。
2.根据权利要求1所述的一种基于SpringCloud的合并请求方法,其特征在于,具有如下步骤:
3.根据权利要求2所述的一种基于SpringCloud的合并请求方法,其特征在于,在步骤S1中,构建合并类的方式实现请求合并,请求合并类,通过创建构造方法来设置合并器的收集时间,即合并器一次收集客户端请求的时间;
4.根据权利要求3所述的一种基于SpringCloud的合并请求方法,其特征在于,在步骤S2中,批量处理类,继承自HystrixCommand,用来处理合并之后的请求,在run方法中调用orderService中的batchQuery方法。
5.根据权利要求4所述的一种基于SpringCloud的合并请求方法,其特征在于,在步骤S3中,进行api调用首先要初始化Hystrix Request Context,创建Ord
6.一种基于SpringCloud的合并请求系统,其特征在于,接受请求后等待一段时间一次性处理等待的这一段时间然后以id为key,批量查询多个id的结果,批量查询完后,以id为key,返回给上游系统的单个查询。
7.根据权利要求6所述的一种基于SpringCloud的合并请求系统,其特征在于,首先,进行构建合并类的方式实现请求合并,然后进行批量处理类;
8.根据权利要求7所述的一种基于SpringCloud的合并请求系统,其特征在于,构建合并类的方式实现请求合并,请求合并类,通过创建构造方法来设置合并器的收集时间,即合并器一次收集客户端请求的时间;
9.根据权利要求8所述的一种基于SpringCloud的合并请求系统,其特征在于,批量处理类,继承自HystrixCommand,用来处理合并之后的请求,在run方法中调用orderService中的batchQuery方法。
...【技术特征摘要】
1.一种基于springcloud的合并请求方法,其特征在于,接受请求后等待一段时间一次性处理等待的这一段时间然后以id为key,批量查询多个id的结果,批量查询完后,以id为key,返回给上游系统的单个查询。
2.根据权利要求1所述的一种基于springcloud的合并请求方法,其特征在于,具有如下步骤:
3.根据权利要求2所述的一种基于springcloud的合并请求方法,其特征在于,在步骤s1中,构建合并类的方式实现请求合并,请求合并类,通过创建构造方法来设置合并器的收集时间,即合并器一次收集客户端请求的时间;
4.根据权利要求3所述的一种基于springcloud的合并请求方法,其特征在于,在步骤s2中,批量处理类,继承自hystrixcommand,用来处理合并之后的请求,在run方法中调用orderservice中的batchquery方法。
5.根据权利要求4所述的一种基于springcloud的合并请求方法,其特征在于,在步骤s3中,进行api调用首先要初始化hys...
【专利技术属性】
技术研发人员:王念佳,孙政,李新,韩成轩,
申请(专利权)人:山东浪潮智慧医疗科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。