文档章节

spring xd 源码解析-job 操作过程

wangyunzhong
 wangyunzhong
发布于 2017/08/29 13:40
字数 422
阅读 42
收藏 0

 

1 定义

Module:具有特定功能的java模块。以jar的形式提交注册到xd。

Definition:为Module设定参数。

Deployment:Definition部署到Container后形成的对象,可以执行。

 

2 deploy接口

curl "http://dl-rc-optd-ambari-slave-v-test-3.host.dataengine.com:47868/streams/definitions?definition=trigger++--cron^%^3D^%^270+0+0+*+*+^%^3F^%^27+^%^3E+queue:job:wait1hourjob_COMPOSED_definition^&deploy=true^&name=wait1hourjob_COMPOSED_job"

-X POST

-H "Origin: http://dl-rc-optd-ambari-slave-v-test-3.host.dataengine.com:47868"

-H "Accept-Encoding: gzip, deflate"

-H "Accept-Language: zh-CN,zh;q=0.8"

-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

-H "Accept: application/json, text/plain, */*"

-H "Referer: http://dl-rc-optd-ambari-slave-v-test-3.host.dataengine.com:47868/admin-ui/"

-H "Proxy-Connection: keep-alive"

-H "Content-Length: 0" --compressed

 

通过调用streams/definitions ,将任务部署到container中。不管是job,还是stream,admin-ui都会掉这个相同的api。其实也有jobs/definitions,而且两个api的实现是一样的。

server端的resource为StreamsController,但是在基类XDController中实现。XDController也是JobsController的实现,所以两个api的实现其实是一个。

 

参数

definition:包含队列,definition标识,以及触发表达式。

deploy:true ,表示创建并部署,如果是false,则只创建。

name:job的名称

3 deploy过程

XD Server接受并解析请求。将信息发送到zookeeper。

XD DeploymentMessageConsumer 监听queues/deployments,处理请求,并将处理结果发送到zookeeper的路径responses/requestid。Module的deploy操作,则由JobDeployer完成。

deploy sequence:

deploy 处理组件 初始化过程图。

从逻辑中可以看出,只有集群的leader才可以处理deploy请求。当节点通过leaderSelector选举为leader,节点初始化zookeeper各个路径的监听。

deploy的路径queues/deployments 在DeploymentQueue中监听,并通过DeploymentMessageConsumer来处理路径的变化信息。

4 container初始化

5 job delete

下线job过程。

© 著作权归作者所有

wangyunzhong
粉丝 9
博文 18
码字总数 11952
作品 0
大连
程序员
私信 提问
Spring XD 1.3 GA / Flo for 1.0 GA 发布

Spring XD 1.3 GA /1.0 GA 发布,其中1.3的更新如下: Job Composition DSL allows for the creation of a complex graph of job executions. Flo for Spring XD designer supports creating......

oschina
2015/11/20
2.1K
2
Spring XD 1.3 RC1 发布

Spring XD 1.3 RC1 发布,该版本引入新的功能用于 batch jobs,你可以基于一个新的 Job DSL 创建带有复杂的图形的 jobs t。Flo for Spring XD UI 已经更新并支持 Job DSL 。详细内容请看:发...

oschina
2015/11/04
2.1K
0
Spring XD 1.2 M1/1.1.2 发布

Spring XD 1.2 M1/1.1.2 发布,Spring XD 1.1.2 是个维护版本,现已提供下载: 1.1.2.RELEASE: zip 1.2.0.M1: zip 也可以使用 brew 和 rpm 进行安装。 Spring XD 1.1.2 完整的issues 列表提供...

oschina
2015/05/02
1K
0
Spring XD 1.1 M1/1.0.2 发布

Spring XD 1.1 M1/1.0.2 发布,这两个版本现已提供下载: 1.0.2.RELEASE: zip, 1.1.0.M1 RELEASE: zip Spring XD 1.0.2 除了一些 bug 修复,Spring XD 1.0.2 现在支持 Apache Hadoop 2.5.1,......

oschina
2014/11/20
1K
2
Spring Cloud Task 1.0.1.RELEASE 发布

Spring Cloud Task 1.0.1.RELEASE 发布了。 本次发布主要提供如下功能: A simple programming model - Spring Cloud Task builds upon Spring Boot and provides additional features to i......

oschina
2016/07/12
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

golang-字符串-地址分析

demo package mainimport "fmt"func main() {str := "map.baidu.com"fmt.Println(&str, str)str = str[0:5]fmt.Println(&str, str)str = "abc"fmt.Println(&s......

李琼涛
今天
4
0
Spring Boot WebFlux 增删改查完整实战 demo

03:WebFlux Web CRUD 实践 前言 上一篇基于功能性端点去创建一个简单服务,实现了 Hello 。这一篇用 Spring Boot WebFlux 的注解控制层技术创建一个 CRUD WebFlux 应用,让开发更方便。这里...

泥瓦匠BYSocket
今天
8
0
从0开始学FreeRTOS-(列表与列表项)-3

FreeRTOS列表&列表项的源码解读 第一次看列表与列表项的时候,感觉很像是链表,虽然我自己的链表也不太会,但是就是感觉很像。 在FreeRTOS中,列表与列表项使用得非常多,是FreeRTOS的一个数...

杰杰1号
今天
9
0
Java反射

Java 反射 反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的 Class,Class 类 用于表示.class 文件(字节码)) 一、反射的概述 定义:JAVA 反射机制是在运行状态中,对于任...

zzz1122334
今天
7
0
聊聊nacos的LocalConfigInfoProcessor

序 本文主要研究一下nacos的LocalConfigInfoProcessor LocalConfigInfoProcessor nacos-1.1.3/client/src/main/java/com/alibaba/nacos/client/config/impl/LocalConfigInfoProcessor.java p......

go4it
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部