storm 学习

一个topology拓扑图包含多个spout和多个bolt
spout用来读取数据  bolt用来处理数据

----------------------------------------
一个实际的例子
产品统计页面,用来记录用户访问了哪些类型的产品 (可以作为一个独立的模块)

spout 读取数据
用户点击了某次操作后会往redis的list中push一个数据,spout会一直访问这个list。
jedis.rpop("xx");  如果为空则休息3秒。

bolt1  根据用户传递的数据id,访问redis数据库得到详细产品信息

bolt2  增加计数的键值对

bolt3  通过httpClient的方式将数据发送的web服务器(修改内存中的值)。

----------------------------------------
drpc
可以像webservice一样调用一个execute(参数1,参数2)方法就能获得远端storm返回的数据。

--------------------------------------
Trident
对storm的封装
原生的topology需要将spout, bolt组装起来。 而trident在一行代码中就可以完成。

---------------------------------------
和ucmdb的区别
除了分布式外, ucmdb是需要在代码中指定下一步扔给哪个queue, 而storm则是在组装topology的时候就定义好了。




你可能感兴趣的:(storm)