作者:吕海龙
爱可生 DTLE 团队成员,负责 DTLE 开发 ,日常问题处理以及相关问题的排查。
本文来源:原创投稿
*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。
从 job 文件到源端目标端的数据传输,dtle 到底是如何实现的?
传输过程中的高可用,又是由谁实现呢?
下面,我们就简单的介绍一下,job 实现的大体流程。
结构
如上图所示,在 job 被传入服务器中,为了将 job 中的任务映射到客户端,job 会形成两个 allocation,task,以及 driver,而 job 实现期间的服务器分配,则是通过 evaluation 来实现。
详解
evaluation
allocation
task
{
{
"Name":"dtle-demo",
"Tasks":[
{
"Type":"Src",
"Config":Object{...}
},
{
"Type":"Dest",
"Config":Object{...}
}
]
}
}
driver
总结
以上,便是一个 job,从请求提交,到最终实现所经历的一个简单流程。总体来说,我们一般将 job 的实现分为两个部分,一个部分是调度,调度部分实现 job 的高可用,以及 job 转移等一系列事物。而来另外一部分,则是传输部分的具体实现,从源端目标端的连接,到数据的抽取、清洗、回放。
相关链接
dtle 官方手册:https://actiontech.github.io/dtle-docs-cn/