
架构之道---中间件
文章平均质量分 52
优质操作中间件,实战情景
Notail^0^
心静脑清
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
XXL-Job路由策略---一致性hash算法
目录前提好处缺点实现逻辑代码总结可扩展:容错性如何解决数据倾斜解决了什么问题前提路由策略有很多,轮询,随机,一致性hash,今天我们要分析的是是一致性hash,那么它有什么好处呢?好处可扩展很好的容错性缺点数据倾斜问题: 可用虚拟节点解决实现逻辑将地址列表中每一个地址进行hash计算,存到TreeMap中,TreeMap会根据key进行排序,(key为hash,value为地址)将jobId进行hash计算,得到hash值,然后在TreeMap中找到hash值最相近的hash值原创 2021-08-31 16:14:35 · 3582 阅读 · 1 评论 -
XXL-Job如何做到精准执行
前提在做定时任务时,我们会精确到某一秒去执行我们的任务,那么XXL-Job是如何帮助我们精准执行呢?利用单独的一个线程(ringThread),该线程的作用是从缓存中读取出当前时间该执行的定时任务,然后去执行,该缓存中存的是执行时间超前5秒内的定时任务,该缓存的数据结构是Map<Integer, List> ringData = new ConcurrentHashMap<>();(QuartzJob是我自定义的类,可以根据业务而定),这样的结构可以处理某一秒中多个任务的执行,相原创 2021-08-16 16:04:49 · 1820 阅读 · 2 评论 -
XXL-job如何从数据库拿取数据
前提:首先我们要了解JobScheduleHelper和JobTriggerPoolHelper这两个类JobScheduleHelper:从数据库按照一定的规则去拿定时任务的数据JobTriggerPoolHelper:执行具体任务JobScheduleHelper这个类是从数据库按照一定规则去拿定时任务的数据,如下图下面我们看代码,里面有四个方法,我们只关注三个start(),refreshNextValidTime(),pushTimeRing()start(...原创 2021-08-16 15:42:25 · 2203 阅读 · 2 评论 -
EasyExcel---监听器
概念监听器帮助我们获取到excel中每一行的数据数据异常时定位到具体的行和列批量导入,控制内存中数据量,达到一定量就导入到数据库思路在开发中我们需要将excel中的数据和数据库中的数据进行比对,如果一样,不进行操作,不一样更新数据库...原创 2021-04-25 18:31:58 · 3328 阅读 · 2 评论 -
EasyExcel---易错点总结
easyexcel和poi冲突使用easyexcel大数据量导出时,需要依赖org.apache.poi的3.17版的jar包,而poi3.17与3.8/3.9版本之间方法变动比较大,会导致easyexcel不能正常使用。所以需要确保poi为3.17版本的web下载不了excelweb下载,不能用ajax调用下载,后端响应的是二进制数据,JQUERY的AJAX只能接收JSON等数据。如何解决: <button type="button" class="btn btn-submit" st原创 2021-04-26 11:41:49 · 528 阅读 · 3 评论 -
EasyExcel---转换器
重点转换器将java的数据类型(含自定义的类)转为excel数据类型将excel的数据类型转为java数据类型监听器帮助我们获取到excel中每一行的数据确定数据异常时定位到行和列批量导入,控制内存中数据量,达到一定量就导入到数据库...原创 2021-04-22 18:11:37 · 6227 阅读 · 1 评论