当前位置: 首页 > news >正文

安庆网站建设价格说到很多seo人员都转行了

安庆网站建设价格,说到很多seo人员都转行了,做h大片免费观看网站,怎么做网站盈利什么是xxl-job? xxl-job是一个分布式的任务调度平台,其核心设计目标是:学习简单、开发迅速、轻量级、易扩展,现在已经开放源代码并接入多家公司的线上产品线,开箱即用。xxl是xxl-job的开发者大众点评的许雪里名称的拼…

什么是xxl-job?

xxl-job是一个分布式的任务调度平台,其核心设计目标是:学习简单、开发迅速、轻量级、易扩展,现在已经开放源代码并接入多家公司的线上产品线,开箱即用。xxl是xxl-job的开发者大众点评的许雪里名称的拼音开头。

分布式任务调度平台,目前比较主流的是elasticjob和xxl-job。

elasticjob和xxl-job的区别?

elasticjob是当当开发的一款任务调度平台,采用zookeeper实现分布式协调。

优点:elasticjob的初衷是为了面对高并发复杂的业务,即使是在业务量大,服务器多的时候也能做好任务调度,尽可能的利用服务器的资源。使用ZooKeeper使其具有高可用、一致性的,而且还具有良好的扩展性

缺点由于ZooKeeper是无中心化的,通过选举机制选举出主服务器,如果主服务器挂了,会重新选举新的主服务器。因此elasticjob具有良好的扩展性和可用性,但是使用和运维有一定的复杂

xxl-job是通过一个中心式的调度平台,调度多个执行器执行任务,调度中心通过DB锁保证集群分布式调度的一致性。

缺点:这样扩展执行器会增大DB的压力,但是实际上这里数据库只是负责任务的调度执行。如果没有大量的执行器的话和任务的情况,是不会造成数据库压力的。实际上大部分公司任务数,执行器并不多。

优点:相对来说,xxl-job中心式的调度平台轻量级,开箱即用,操作简易,上手快,与SpringBoot有非常好的集成,而且有监控界面就集成在调度中心,界面又简洁,对于企业维护起来成本不高,还有失败的邮件告警等等。这就使很多企业选择xxl-job做调度平台。

xxl的实现?

xxl-job框架主要用于处理分布式的定时任务,其主要由调度中心和执行器组成。

调度模块(调度中心)

负责管理调度信息,按照调度配置发出调度请求,自身不承担业务代码。调度系统与任务解耦,提高了系统可用性和稳定性,同时调度系统性能不再受限于任务模块;
支持可视化、简单且动态的管理调度信息,包括任务新建,更新,删除,GLUE开发和任务报警等,所有上述操作都会实时生效,同时支持监控调度结果以及执行日志,支持执行器Failover。

执行模块(执行器)

负责接收调度请求并执行任务逻辑。任务模块专注于任务的执行等操作,开发和维护更加简单和高效;
接收“调度中心”的执行请求、终止请求和日志请求等。

调度中心:统一管理任务调度平台上的调度任务,负责触发调度执行,并且提供任务管理平台。

​ 执行器:接收调度中心的调度并且执行,可以直接执行也可以集成到项目中。

​小结:调度中心和执行器两个模块分开部署,相互分离,两者之间通过RPC进行通信,其中调度中心主要是提供一个平台,管理调度信息,发送调度请求,自己不承担业务代码,而执行器接受调度中心的调度执行业务逻辑。

xxl-job的原理

执行器的注册和发现

执行器的注册和发现主要是关系两张表:

xxl_job_registry:执行器的实例表,保存实例信息和心跳信息,xxl_job_group:每个服务注册的实例列表。

执行器启动线程每隔30秒向注册表xxl_job_registry请求一次,更新执行器的心跳信息,调度中心启动线程每隔30秒检测一次xxl_job_registry,将超过90秒还没有收到心跳的实例信息从xxl_job_registry删除,并更新xxl_job_group服务的实例列表信息。

调度中心调用执行器

调度中心调用执行器

调度中心的操作:

调度中心通过循环不停的:

  1. 关闭自动提交事务

  2. 利用mysql的悲观锁,其他事务无法进入

    select * from xxl_job_lock where lock_name = 'schedule_lock' for update
    
  3. 读取数据库中的xxl_job_info:记录定时任务的相关信息,该表中有trigger_next_time字段表示下一次任务的触发时间。拿到距离当前时间5s内的任务列表,分为三种情况处理:

    • 对于当前时间-任务的下一次触发时间>5,直接调过不执行,重置trigger_next_time的时间。(超过5s)

    • 对于任务的下一次触发时间<当前时间<任务的下一次触发时间+5的任务(不超过5s的):

      1. 开线程处理执行触发逻辑,根据当前时间更新下一次任务触发时间

      2. 如果新的任务下一次触发时间-当前时间<5,放到时间轮中,时间轮是一个map:

          private volatile static Map<Integer, List<Integer>> ringData = new ConcurrentHashMap<>();
        
      3. 根据新的任务下一次触发时间更新下下一次任务触发时间

    • 对于任务的下一次触发时间>当前时间,将其放入时间轮中,根据任务下一次触发时间更新下下一次任务触发时间

  4. commit提交事务,同时释放排他锁

执行器的操作:

  1. 执行器接收到调度中心的调度信息,将调度信息放到对应的任务的等待队列中
  2. 执行器的任务处理线程从任务队列中取出调度信息,执行业务逻辑,将结果放入一个公共的等待队列中(每个任务都有一个单独的处理线程和等待队列,任务信息放入该队列中)
  3. 执行器有一个专门的回调线程定时批量从结果队列中取出任务结果,并且回调告知调度中心
http://www.dinnco.com/news/14641.html

相关文章:

  • 甘肃网站开发企业网站外链发布平台
  • 建材做哪些网站好竞价推广是做什么的
  • 有哪些做ppt用图片的网站腾讯效果推广
  • 怎么用大淘客做网站网站建设的意义和作用
  • 本地做网站贵免费的api接口网站
  • 海外网站建设推广优化大师人工服务电话
  • seo包括网站建设吗微信客户管理系统
  • 一个简单的网页代码带图片网站seo的内容是什么
  • 郑州服务项目网站建设公司企业qq官方下载
  • 个人网站 目的重庆网站外包
  • 放网站的图片做多大分辨率宁波正规优化seo软件
  • 徐州网站运营广告优化师发展前景
  • 满屏网站做多大尺寸seo推广是什么
  • 金融棋牌网站建设谷歌搜索引擎香港免费入口
  • 成都微信网站开发南宁seo外包服务
  • php和java做网站百度金融
  • 微商手机网站制作公司seo网页优化平台
  • 网站主关键词如何优化免费个人推广引流平台
  • 做网销的网站目前常用的搜索引擎有哪些
  • 苏州网站建设caiyiduo网络营销推广渠道
  • 17一起做网站株洲英文seo
  • 彩票网站的客服有做吗陕西疫情最新消息
  • 漳州做网站承德网络推广
  • 专做老酒的网站枸橼酸西地那非片功效效及作用
  • 网站域名到期软文推广营销服务平台
  • 乐清手机网站搜索关键词分析
  • 东莞网站建设公司辉煌大厦如何做好平台推广
  • 国外美甲网站模板广州市最新消息
  • 网站建设工百度网页浏览器
  • 如何做外卖网站查网站关键词工具