
用户案例 | 自如
作者简介

业务挑战
复杂的业务场景:自如的数据处理业务场景丰富多样,涵盖了To C和To B的品质居住产品、智慧生活服务、智能家装家居、智慧社区组织运营四大板块。 大量的历史存量任务:自如历史累计的离线任务数量庞大,目前累计离线调度任务已达到1万+的规模,这对平台的稳定性提出了非常高的要求。 离线任务增量大:目前,自如仍处于业务飞速发展的阶段,离线任务的数量持续增长,这对平台的扩展性和处理能力提出了极高的挑战。 非专业开发人员的易用性需求:自如的数据使用人员主要包括运营人员、分析师、产品BP等非专业开发人员,他们对于配置调度的易用性要求严格,需要能支持SQL化操作,以及用户友好的配置界面,以达到"平民化"的使用体验。
解决方案
01
自如对调度技术选型的核心诉求
简单易用的操作方式:使用户能快速上手,高效地进行需求逻辑开发。 丰富的实践案例:供用户参考和学习,助力他们更好地理解和使用平台。
通用的技术栈:便于进行二次开发,快速地将项目集成到自如的企业生态中。 丰富的组件:支持多种多样的任务类型,满足各种业务需求。 优秀的架构设计:确保项目具有高可用性、易扩展性以及支撑海量任务调度的能力。 活跃的开源社区:遇到问题时,团队能够便捷且迅速地从社区获得必要的帮助。
02
架构设计

二次开发实践
01
血缘解析自动生成调度


02
支持混合的数据依赖和任务依赖

03
任务依赖重构
04
支持基于配置的调度生成


05
Ambari管理DS的支持
参数配置统一管理、多版本对比





06
端到端调度组件可用性监控WatchDog

07
内部核心逻辑“埋点”
08
JVM参数优化监控
XX:+UseG1GC:使用G1垃圾回收器。 XX:MaxGCPauseMillis=500:设置最大GC暂停时间为500毫秒。 XX:+PrintGCDetails XX:+PrintGCTimeStamps XX:+PrintGCCause:打印GC的详细信息、时间戳和GC原因。 XX:+UseGCLogFileRotation XX:NumberOfGCLogFiles=10 XX:GCLogFileSize=10M:启用GC日志文件的轮转,保留10个文件,每个文件大小为10兆字节。 XX:+HeapDumpOnOutOfMemoryError、 XX:+HeapDumpBeforeFullGC:在OutOfMemoryError发生时生成堆转储文件,并在执行Full GC之前生成堆转储文件。 Xmx16g、-Xms16g:设置堆的最大和初始大小为16GB。 XX:MetaspaceSize=512m XX:MaxMetaspaceSize=512m:设置元空间的初始大小和最大大小为512MB。
09
权限管控
用户收益
满足了业务人员、分析师、产品BP的数据加工和使用需求:通过基于配置的调度生成模式和自动生成SQL的功能,我们能够满足那些不懂SQL语言的业务人员、分析师和产品BP的数据加工和使用需求。他们可以通过简单的配置来定义数据加工流程,而无需编写复杂的SQL语句。这使得他们能够快速、轻松地完成数据的处理和使用,提高了他们的工作效率。 满足运维人员维护庞杂数据调度的需求:对于运维人员来说,维护庞杂的数据调度任务是一项具有挑战性的任务。然而,通过我们的调度平台,运维人员能够更加方便地管理和维护这些调度任务。平台提供了可视化的操作界面和丰富的功能,如配置回滚、历史版本对比等,使得运维人员能够轻松地进行任务的管理和维护。同时,端到端的可用性监控工具WatchDog也能及时发现系统故障,提高了调度系统的稳定性和可靠性。
参与贡献
随着国内开源的迅猛崛起,Apache DolphinScheduler 社区迎来蓬勃发展,为了做更好用、易用的调度,真诚欢迎热爱开源的伙伴加入到开源社区中来,为中国开源崛起献上一份自己的力量,让本土开源走向全球。

参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。
社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689
非新手问题列表:https://github.com/apache/dolphinscheduler/issues?q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22
如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html
来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的。
参与开源可以近距离与各路高手切磋,迅速提升自己的技能,如果您想参与贡献,我们有个贡献者种子孵化群,可以添加社区小助手微信(Leonard-ds) ,手把手教会您( 贡献者不分水平高低,有问必答,关键是有一颗愿意贡献的心 )。

添加社区小助手微信(Leonard-ds,好友申请注明“入交流群+姓名+公司+职位信息“,群里是实名制,仅用于验证身份)
添加小助手微信时请说明想参与贡献。
来吧,开源社区非常期待您的参与。






