
技术选型
文章平均质量分 96
水中加点糖
天下武功,无坚不破,唯快不破。https://github.com/puhaiyang
展开
-
结合理论与实践,聊下为什么有时http2比http1.1还慢
突然提出了一个质疑:http2一定比http1.1快吗?中学老师经常告诉我们,当题中有“一定”这个关键词时,这个题基本都是错的。那么对于“http2一定比http1.1快吗?”这个问题也是如此,在很多场景下http1.1仍然比http2快。具体在哪些场景下http2比http1.1慢,在了解了http1.1和http2的原理后,便可很容易列举几个,再配合实验验证即可。原创 2024-09-19 19:15:00 · 1137 阅读 · 0 评论 -
聊聊二叉堆、红黑树、时间轮在定时任务中的应用
程序=算法+数据结构。不同的算法与数据结构有着它独特的美,在实际业务运用时也需要从具体的业务出发进行多维度分析,选择一个底层实现最适合的框架,以让您的业务场景运行起来速度又快占用空间又少,岂不美哉。原创 2024-06-07 23:02:37 · 1355 阅读 · 0 评论 -
一文秒懂cli、snmp、yang、netconf、restconf、openconfig
自以太网诞生以来,各种技术引领着一代代的潮流。星辰闪耀,数不尽的网络承载着各种通信的可能,让我们也不禁感慨网络之浩瀚。前有“云大物移智链边”的风起云涌,后有AI浪潮的大放异彩。上层应用的遍地开花,也迫使着底层网络技术的不断发展。SD-WAN、P4、QUIC、SRV6、SNOIC等一堆和网络相关的技术也应运而生。无论以上种种技术如何的变迁,最终信息的传递还是基础硬件扛下了所有。尽管这些年来也有高性能硬件也在不断诞生,如多年前处理网络数据包速度达到6.5Tb/s的Tofino芯片犹如破竹之势,与传统交原创 2024-04-06 17:22:38 · 3244 阅读 · 0 评论 -
es实现多字段聚合后再分页-附JAVA工具类
因为产品功能需要,需要实现很多数据的统计功能。产品经理在统计某些数据时为了不失用户体验,对于数据量可能大于几十条的数据都设计为了分页查询好巧不巧,上面描述的这个需求的后端开发正好就落在了我的头上刚开始没怎么注意,想着不就是从es提取数据嘛,看看官方API定能分分钟搞定,而且肯定有现成的聚合后再分页的api产品说10天时间让开发完,我想着10天是不是瞧不起我。3天,就3天完全够了,第1天开发接口,还不能下班后在公司逗留、第2天让前端对接接口、第3天走测试。好在产品也是很给我面子,我说3天就3天(此段纯属原创 2021-04-06 22:24:18 · 4687 阅读 · 7 评论 -
介绍一下,spring cloud下的另一种定时任务解决方案
曾经天真的我以为在JAVA中做定时任务只有quartz、xxl-job、elastic-job直到那天公司领导向我推荐了spring cloud data flow和kubernetes cronjob随后我快速去体验了一把它们的特点,而当再回过头来看我之前所了解的定时任务框架,便感觉很难再爱了废话不多说,趁着激情还未褪去,带大家一共快速领略一下吧spring cloud data flow安装对于spring cloud data flow的安装这里就不记录和演示了,因为官网比我写的好上很多安原创 2021-03-16 22:46:14 · 1554 阅读 · 1 评论 -
定时任务框架elastic-job快速体验与思考
前言一个业务系统中很容易会遇到需要定时任务来执行某一操作的需求。如果刚开始时系统足够简单,为了开发快速与便捷,用spring中的schedule注解来实现定时任务也完全够了随着业务功能的增加,如果需要定时任务的高可用,则可以使用quartz,但如果希望有job的管理界面并支持分布式,那么quartz目前还不能满足。也正因为quartz不能满足分布式处理定时任务的原因,于是便有了众多的定时任务框架,如xxl-job、elastic-job等尽管xxl-job和elastic-job都是由国人开发的两款开原创 2021-02-21 22:53:55 · 1520 阅读 · 0 评论 -
JAVA项目中常用LRU缓存过期策略实现方式对比
JAVA项目中常用LRU缓存过期策略实现方式对比原创 2020-12-31 22:32:55 · 805 阅读 · 1 评论 -
大话常用限流算法与应用场景
计数器限流算法模拟需求描述公司产品老大让做一个抢金币的活动,规定一个用户5秒内最多抢10个金币解决办法初级工程师小J(junior)同学拿到这个需求后立马就开干,直接用userid为key在redis中存储,来一个请求就让计数器自增一下再拿到自增后的结果,判断结果值是否超过了规定的阀值,再来个将key设为5秒过期小A然后快速写出代码: /** * 限制为5秒10次 */ private Long rangeSeconds = 5L; private In原创 2020-11-30 20:13:53 · 857 阅读 · 4 评论