热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

elasticjob和xxljob实践对比

elastic-job与xxl-job的实践数据对比。从多个维度,数据进行更适合的选择。简介技术文档都比较完善,学习成本低。elastic-job官网地

elastic-job与xxl-job的实践数据对比。从多个维度,数据进行更适合的选择。



简介


技术文档都比较完善,学习成本低。



elastic-job


官网地址:https://shardingsphere.apache.org/elasticjob/current/cn/overview/


E-Job 关注的是数据,增长了弹性扩容和数据分片的思路,以便于更大限度的利用分布式服务器的资源。可是学习成本相对高些,推荐在“数据量庞大,且部署服务器数量较多”时使用算法


xxl-job


官网地址:https://www.xuxueli.com/xxl-job/


X-Job 侧重的业务实现的简单和管理的方便,学习成本简单,失败策略和路由策略丰富。推荐使用在“用户基数相对少,服务器数量在必定范围内”的情景下使用


对比维度


前提条件均运行在K8S中,并且程序运行内存512M,正常运行12小时。



GC情况 (XXL-job完胜)


E-job

S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 43.10 0.00 6.18 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 6.18 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 6.18 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 6.18 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 6.18 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 6.30 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.28043.10 0.00 13.53 35.03 97.84 96.22 11700 177.625 3 0.655 178.280

XXL-job

S0 S1 E O M CCS YGC YGCT FGC FGCT GCT 58.86 0.00 49.24 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.24 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.27 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.28 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.36 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.37 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.37 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.37 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 49.37 28.97 95.87 93.36 1190 26.351 3 0.380 26.73158.86 0.00 51.05 28.97 95.87 93.36 1190 26.351 3 0.380 26.731

对比结论


  • E:年轻代中Eden目前已使用的空间,波动率不一。
    • E-job 波动幅度大,并且空间使用大
    • XXL-job 波动幅度平均,并且短时间空间使用低
  • YGC:年轻代中E-job,gc次数大。

CPU/MEM情况

CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
e1b9efeec680 k8s_xxl-jobs_cloud-namespace_9a47d619-5a8b-4529-856b-2cbd972c726d_0 0.00% 844MiB / 15.28GiB 5.39% 0B / 0B 4.56MB / 12.3kB 353
ij7j09jiasdq k8s_e-jobs_test-namespace_154s24d2-s1s2-2355-322s-a2121da21saa_0 0.00% 719MiB / 15.28GiB 4.58% 0B / 0B 4.56MB / 12.3kB 353CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
e1b9efeec680 k8s_xxl-jobs_cloud-namespace_9a47d619-5a8b-4529-856b-2cbd972c726d_0 3.00% 844MiB / 15.28GiB 5.39% 0B / 0B 4.56MB / 12.3kB 353
ij7j09jiasdq k8s_e-jobs_test-namespace_154s24d2-s1s2-2355-322s-a2121da21saa_0 2.00% 719MiB / 15.28GiB 4.58% 0B / 0B 4.56MB / 12.3kB 353CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
e1b9efeec680 k8s_xxl-jobs_cloud-namespace_9a47d619-5a8b-4529-856b-2cbd972c726d_0 3.20% 844MiB / 15.28GiB 5.39% 0B / 0B 4.56MB / 12.3kB 353
ij7j09jiasdq k8s_e-jobs_test-namespace_154s24d2-s1s2-2355-322s-a2121da21saa_0 4.00% 719MiB / 15.28GiB 4.58% 0B / 0B 4.56MB / 12.3kB 353CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
e1b9efeec680 k8s_xxl-jobs_cloud-namespace_9a47d619-5a8b-4529-856b-2cbd972c726d_0 3.20% 844MiB / 15.28GiB 5.39% 0B / 0B 4.56MB / 12.3kB 353
ij7j09jiasdq k8s_e-jobs_test-namespace_154s24d2-s1s2-2355-322s-a2121da21saa_0 2.70% 719MiB / 15.28GiB 4.58% 0B / 0B 4.56MB / 12.3kB 353

对比结论

E-job稍微逊色一点,但是相差不多,对于上述比较的GC来看,个人觉得GC的可比性更重要。


支持集群部署 (感觉不通的情况使用)


XXL-job

集群部署唯一要求为:保证每个集群节点配置(db和登陆账号等)保持一致。调度中心通过db配置区分不同集群。
执行器支持集群部署,提升调度系统可用性,同时提升任务处理能力。集群部署唯一要求为:保证集群中每个执行器的配置项 “xxl.job.admin.addresses/调度中心地址” 保持一致,执行器根据该配置进行执行器自动注册等操作。


E-job

重写Quartz基于数据库的分布式功能,改用Zookeeper实现注册中心
作业注册中心: 基于Zookeeper和其客户端Curator实现的全局作业注册控制中心。用于注册,控制和协调分布式作业执行。


对比结论


  • 最新版本X-job 基于时间轮,使用数据库实现注册中心
  • E-Job基于quartz,改用Zookeeper实现注册中心

监控告警,日志追溯 (XXL-job完胜)


XXL-job

提供了调度器,支持日志查询,动态控制任务触发条件,支持配置邮箱地址进行异常告警。
xxl-job


E-job

需监听任务的处理是否成功,作业服务器是否存活,数据是否处理成功,自行编写告警程序。


对比结论


  • xxl-job对于动态任务执行,日志查询,告警更自动化,用法更建议,对于业务处理来说更方便
  • E-job这方便稍微欠缺。

大量数据处理,批量处理 (E-job完胜)


E-job

支持并行调度,采用任务分片实现,可自定义分片策略,并且通过zk实现服务注册,控制,协调,对服务器压力更少


XXL-job

支持任务分片,更加执行起集群实现动态分片。因为是通过数据来实现弹性扩容,如果任务服务器多了,会对服务器造成一定的压力


总结

综合来说,如果侧重于数据则使用E-job,侧重业务请使用XXL-job


推荐阅读
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • 本文探讨了Hive中内部表和外部表的区别及其在HDFS上的路径映射,详细解释了两者的创建、加载及删除操作,并提供了查看表详细信息的方法。通过对比这两种表类型,帮助读者理解如何更好地管理和保护数据。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 在使用 DataGridView 时,如果在当前单元格中输入内容但光标未移开,点击保存按钮后,输入的内容可能无法保存。只有当光标离开单元格后,才能成功保存数据。本文将探讨如何通过调用 DataGridView 的内置方法解决此问题。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • MacOS上高效的SVN管理工具Cornerstone安装指南
    本文详细介绍如何在MacOS上安装和配置高效SVN管理工具Cornerstone,涵盖其主要功能和优化后的性能提升。 ... [详细]
  • 帝国CMS多图上传插件详解及使用指南
    本文介绍了一款用于帝国CMS的多图上传插件,该插件通过Flash技术实现批量图片上传功能,显著提升了多图上传效率。文章详细说明了插件的安装、配置和使用方法。 ... [详细]
  • 本教程涵盖OpenGL基础操作及直线光栅化技术,包括点的绘制、简单图形绘制、直线绘制以及DDA和中点画线算法。通过逐步实践,帮助读者掌握OpenGL的基本使用方法。 ... [详细]
author-avatar
,,,,,,,,,,,,,,,
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有