
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
调度中心调用执行器,执行定时任务。执行器回调调度中心,上报定时任务执行结果。在调度和执行的整个流程中,XXL-JOB使用了大量的异步操作,减少调度中心的资源压力,以此在集中式调度配置与性能之间找到平衡点。异步实践通过线程池来执行异步操作通过自旋线程 + 阻塞队列的方式来执行异步操作。

本系列主要讲的是的理论与实践,也就是我们常说的Gradle,与Maven类似,它也是一种自动化构建工具。相对于Maven来说,Gradle在可定制型、灵活性、性能、插件生态、多项目管理上面有更多的优势,同时相对于XML语言,Gradle使用代码来做管理声明方式会更加优雅。缺点是学习的曲线更陡、资源消耗更高、维护成本更高等。总之,Gradle 更适合复杂和大型项目,尤其是需要高度定制化的构建过程的项

模板方法是一种非常简单的设计模式,只要能够理解面向对象中的继承与多态就能够理解这种设计模式,我们可以在很多的框架源码中找到它的身影。同时在我们的日常开发中,它一般是用在同类型且不同实现方式的业务逻辑中,抽取公共逻辑,简单的说就是,模板方法经常和策略模式结合使用。《SpringBoot优雅使用策略模式》本篇文章介绍了什么是模板方法、模板方法的简单实现与在SpringBoot中的实现的。然后对比了模板

状态模式一般是用在对象内部的状态流转场景中,用来实现状态机。什么是状态机呢?状态机是对状态转移的抽象,由事件状态动作组成,事件有时候也被称为转移事件或者转移,当事件触发时,可以将状态由一个状态变更为另一个状态,并执行动作。其中,事件和状态是必须存在的,动作可以不要。下面是一张状态图,表达的就是一个状态机的模型。通俗来讲,就是对状态的变更做了一定的限制,不能随意的修改状态,而是只有处于某个特定的状态

使用 Docker Compose ,可以通过 docker-compose.yml 文件来替代指令来编排容器,yml文件可以一目了然的看到容器之间的关系,避免了使用一大堆繁琐的指令。同时,可以将已编写好的 compose 文件,共享给他人使用,起到了一次编写,到处运行的效果,减少了大量的重复工作。由于微服务时代的到来,我们生产环境中的应用服务往往是多机多节点部署, Docker Compose

本篇主要讲述了bridge类型的网络驱动是如何使用的,自定义的bridge相对于默认的bridge自带DNS服务可以动态的连接容器或断开容器而不需要重启可以有效的隔离不同的应用组而对于host类型的网络驱动来说,由于或占用主机的端口,而且不能动态指定端口,很容易端口冲突,我们一般不选择这种使用方式。overlay类型的驱动,主要是用在多机多容器的网络通信场景,由于管理比较复杂,一般是配合多机容器编

我们在做互联网项目的时候会遇到一些排行版的需求,如果排行榜的时效性不高,比如日榜,周榜这种,可以考虑通过定时任务统计、聚合数据并落库,需要查询的时候直接查询这个统计好的数据就好了。但有时候我们遇到的需求时效性会高一点,比如小时榜、分钟榜、甚至实时排行榜,这种情况下再使用定时任务统计的方式就不太合适了。在Redis中有个叫zset的数据结构,非常适合用来做排名,它的数据结构中有一个score分数,我

volatile的作用是并发环境下,在一定的作用范围内解决共享变量的可见性和有序性问题,相对于synchronized和显示的加锁,volatile在性能上根据优势,可以尽可能的以更细的粒度来保证线程安全。通过JMM提供的lock指令,来使用CPU底层的提供的总线锁或缓存锁来保证共享资源的实时同步和更新。总线锁在加锁后会阻塞CPU访问内存,所以大多数CPU是通过缓存一致性协议对缓存行状态的控制来达

使用 Docker Compose ,可以通过 docker-compose.yml 文件来替代指令来编排容器,yml文件可以一目了然的看到容器之间的关系,避免了使用一大堆繁琐的指令。同时,可以将已编写好的 compose 文件,共享给他人使用,起到了一次编写,到处运行的效果,减少了大量的重复工作。由于微服务时代的到来,我们生产环境中的应用服务往往是多机多节点部署, Docker Compose

使用docker可以简单的启动一个Redis,只需要从docker仓库中拉取到redis的镜像,然后直接运行即可,依次执行如下脚本。







