我正在尝试查找这些信息,但没有文章解决我的问题。
在Apache Storm中,有喷嘴和螺栓。据我了解,还有一个概念是工作进程(JVM),执行程序(JVM中的线程)和任务(Spout / Bolt的实例)。
我不明白的事情
- 何时创建螺栓/喷口?
- 谁创建螺栓/喷嘴?是Nimbus创建它,序列化并发送给所有Worker(JVM)吗?还是Nimbus将.jar发送给自己创建实例的主管?还是Nimbus可以创建整个Thread实例,对其进行序列化并将其作为现成的执行器发送给Supervisor?
- 在整个集群中创建了多少个喷口/螺栓实例?
- 在单个Worker进程中,拥有多个执行程序是否意味着在这些执行程序中运行的Spouts / Bolt需要关心线程安全性-因为它们共享JVM,因此具有相同的堆空间?
- 我了解,如果需要在Worker进程(不同的JVM)之间发送元组,则可以对它们进行序列化(使用Kryo)。螺栓/喷嘴也要序列化吗?如果是这样-为什么?
- 这是什么DRPC东西?
我真的希望Apache Storm文档更加精巧和最新。如果我在任何时候都错了,请纠正我。