如何将rest api端点设置为Storm spout?

时间:2015-01-22 13:50:36

标签: rest apache-storm

我想设置一个休息api端点作为风暴喷口,即每当请求端点url(例如http://example.com/search?q=test)时,我想用某些螺栓执行风暴拓扑。 / p>

问题在于,并非所有时间请求都是,也应该在一定的时间间隔内调用spout的nextTuple()方法,并且不知道这个时间间隔是什么。我怎么能听到一个http url请求,并在发出请求时执行拓扑?如何控制并发请求以及如何确定否。工作人员执行拓扑,因为该网址的流量不确定。

另一种替代解决方法是,当我发出请求然后使用kafka spout时,我想到将请求推送到kafka队列。在不使用kafka的情况下做任何其他想法?

我需要做两个工作:将请求处理成json格式,然后将json字符串生成为kafka队列。风暴是一个更好的解决方案吗?

我是否必须考虑使用像Spark这样的替代框架?

1 个答案:

答案 0 :(得分:2)

您需要查看Storm DRPC。简单来说,Storm DRPC就像一个函数,你提供params,你会得到一个结果。您的Storm拓扑将用于提供答案。

让您的REST端点将请求发送给Storm DRCP。