请求合并提升性能--多线程技术
1.请求合并描述
什么是请求合并?
为什么要使用请求合并技术?
2.设计思路
如何实现一个请求合并?
设计思路是什么?
3.具体实现
使用多线程技术写出请求合并的功能
4.体系拓展
如Hystrix类似功能演示SpringCloud最新状态描述
引言:现在互联网公司主流开发设计,如网易课堂,爱奇艺等 ,一般大致都是类似的。
vue、RN、Flutter、Ajax异步加载,跨域(jsonp跨域),服务多系统化,redis,消息队列,分库分表,分布式,平台化等。
系统架构设计:
redis缓存使用:
如:爱奇艺影片详情页或网易课程详情页,电商商品详情页等等
影片详情信息
接口访问:
热点查询增加 redis缓存
批量查询模式可提高查询速度:
请求合并优缺点:
弊端:
启用请求的成本是在执行实际逻辑之前增加了延时。(如10ms,时间成本增加)
如:如果平均仅需5ms的执行时间,放在一个10ms的做一次批处理的合并场景下,则在最坏的情况下,执行时间可能成为15ms。(不适合 低延时的RPC场景,低并发场景)
场景:
如果很少有超过1或2个请求会并发在一起,则没有必要使用。
一个特定的查询同时被大量使用,并且可以将几十个甚至数百个请求批量处理在一起,那么如果能接受处理时间变长一点点,用来 减少网络连接数 ,这是值得的(如:数据库,http接口等)。