操作系统:Centos7.3 一.依赖安装 首先安装相关依赖: yum install -y gcc openssl-devel popt-devel yum -y install libnl libnl-devel yum install -y libnfnetlink-devel 基本依赖就安装完毕了,如果还缺少什么依赖在下一步编译的时候会有w…
问题的发现 发现当然还是运维大哥因为发现告警,包括自己邮箱也一堆告警,然后运维大哥做了dump以及jstack后立马重启,重启后暂时解决。 问题的排查 有dump和jstack记录,当然是好分析的,先分析这两个,原因就比较明显了: 1. dump记录拉到本地用java自带的工具查看,发现大量netty的MpscArrayQueue对象没有释放,占用…
什么是分布式锁 锁的含义,一般就是为了独占资源,防止并发冲突,一般锁的实现,都依赖于计算机资源,如CPU,内存等,但是在跨系统时,各系统独立,如果需要锁,就需要一种分布式锁的实现方案。让各系统之间对相同资源的并发操作不会出现并发问题。 分布式锁的应用场景 虽然理论上,分布式锁适用于任何多应用需要独占资源或者要进行串行操作的场景,但是一般业务中,从我…
修改后的源码仓库地址:GitHub. : 改造原因 原有的xxl-job使用自己实现的http协议进行注册以及调度等,与目前框架中本身的注册中心格格不入,会影响健康检查、日志处理、问题排查。 技术栈统一。避免执行器内包含两套注册逻辑。 提高分布式健壮性,原有的服务注册以及发现等功能较弱,且与实际应用可用与否完全无关,经常存在xxl-job线程出问题…
SpringBoot中的Scheduled定时任务是Spring Boot中非常常用的特性,用来执行一些比如日切或者日终对账这种定时任务 下面说说使用时要注意的Scheduled的几个特性 Scheduled的执行方式 Scheduled按照顺序执行,对于某个task未做配置的话只会起一个线程去执行,也就是说当你某个任务在处理中阻塞了,哪怕轮询时间…
分布式系统:分布式任务调度xxl-job较深入使用
xxl-job是一个分布式定时任务调度框架,功能强大,底层使用自己实现的rpc框架进行注册和管理,数据库使用mysql,调度触发使用数据库锁来作为调度锁。 xxl-job主要分为调度中心admin以及任务,任务引入依赖jar包并配置启动类为s…