Storm支持以下種類的Bolt:
BasicBolt:最簡單的Bolt類型,實(shí)現(xiàn)了IBasicBolt接口,可以處理輸入的tuple并發(fā)出新的tuple。
RichBolt:實(shí)現(xiàn)了IRichBolt接口,可以在Bolt中訪問元組的元數(shù)據(jù),如元組的分區(qū)信息等。
ShellBolt:用來執(zhí)行外部的Shell命令或腳本的Bolt。
TickTupleBolt:實(shí)現(xiàn)了ITickTuple接口,可以處理特殊的TickTuple,用于定時(shí)觸發(fā)Bolt的操作。
CoordinatedBolt:實(shí)現(xiàn)了ICoordinatedBolt接口,可以協(xié)調(diào)多個(gè)Bolt實(shí)例之間的操作。
StatefulBolt:實(shí)現(xiàn)了IStatefulBolt接口,可以維護(hù)狀態(tài)信息,如累積計(jì)數(shù)器、滑動(dòng)窗口等。
除了以上列出的Bolt類型,Storm還支持用戶自定義的Bolt類型,可以根據(jù)需要實(shí)現(xiàn)相應(yīng)的接口來定義自己的Bolt。