我想将restapi端点设置为一个风暴喷口,即每当对端点url发出请求时(例如。http://example.com/search?q=test)然后我想执行一个风暴拓扑与某些螺栓。
问题是,不是所有的时间要求也提出了,喷口的 nextTuple()
方法应该在某个时间间隔调用,对此时间间隔一无所知。我怎么也能监听请求的httpurl,并在发出请求时执行拓扑呢?如何控制并发请求,以及如何确定执行拓扑的工作进程数,因为到该url的通信量是不确定的。
另一种解决方法是,我考虑在发出请求时将请求推送到kafka队列,然后使用kafka喷口。有没有其他不使用Kafka的想法?
我需要做两项工作:将请求处理成json格式,然后向kafka队列生成json字符串。风暴是更好的解决方案吗?
我是否必须考虑像spark这样的替代框架才能做到这一点?
1条答案
按热度按时间0kjbasz61#
你需要看看storm drpc。简单地说,storm drpc就像一个函数,只要提供参数,就会得到一个结果。你的风暴拓扑将被用来提供答案。
让您的rest端点将请求发送到storm drcp。