Netflix conductor 学习笔记(1)client

conductor的代码实现很简单。启动后将worker注册到server,并定时从server获得worker的task,并在本地执行。

160720_TDBU_347227.png

 

WorkflowTaskCoordinate通过内部的Build类进行初始化。Build除了承载参数,提供流式操作,创建WorkflowTaskCoordinate外,没有任何其他作用。

WorkflowTaskCoordinate会初始化两个线程池:ExecutorService和ScheduledExecutorService。ExecutorService是当有任务时,执行任务的线程池。

ScheduledExecutorService是定期从Server获得任务的线程池。间隔默认为1s。每次执行后返回结果,worker都返回自己本地的环境参数。所以还以worker的实例为主键,缓存了本地执行环境的描述信息。

Worker的名字,就是task的类型,对应Server中Task的描述信息。

Worker中使用了Eureka。但是查看代码的过程中发现,Worker并没有使用Eureka的特性。唯一用的地方是,在poll task之前,先判断server的实例是否存在。但是此判断需要在用户设置了EurekaClient时才会生效。所以总的来说,并没有用到Eureka。也可能是Netflix希望用户自己编写这部分的逻辑,让worker充分使用微服务的特性。

时序图

 

转载于:https://my.oschina.net/u/347227/blog/1377548

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值