这几个kill、rebanlance、activate、deactivate方法放在一起分析,是因为他们都依赖于nimbus定义的通用的 状态转移方法:
transitionName********************************************这里只具体分析kill方法*********************************
一:初始化LocalCluster同拓扑提交一样,详见大神http://www.maoxiangyi.cn/index.php/archives/734;
二:LocalCluster完成构造之后,即可使用killTopology/ killTopologyWithOpts杀死拓扑。
方法的实现都会调用nimbus的对应方法。追踪nimbus的实现类,就能看到killTopology/ killTopologyWithOpts这两个方法,真正的实现类就是killTopologyWithOpts
@Override
public void killTopology(String name) throws NotAliveException, TException {
killTopologyWithOpts(name, new KillOptions());
}

本文分析了Jstorm中kill、rebalance、activate和deactivate四个方法的流程,这些方法依赖于nimbus的状态转移机制。首先介绍初始化LocalCluster的过程,然后详细探讨killTopology和killTopologyWithOpts的实现,它们最终调用nimbus的killTopologyWithOpts方法。该方法包括检查拓扑是否活跃,以及通过nimbus的状态转移方法进行处理。文章还提到了未完全理解的topologyLocks部分,表示后续会继续更新。
最低0.47元/天 解锁文章
1348

被折叠的 条评论
为什么被折叠?



