2

先做一点解释;我有一个系统,我们称之为 SystemA,我可以将其配置为在出现问题时将 http Posts 发送到我指定的 url,但不能直接修改请求正文。

我的目标是通过 redis pubsub 队列将 post 请求的主体发送到storm spout。我知道我可以通过对 webdis 进行 POST 来发布到 redis pubsub 频道,例如:

url: http://127.0.0.1:7379/
body:/PUBLISH/channelname/someimportantinfo

由于我无法从 SystemA 修改 POST 的正文以添加 /PUBLISH/channelname 我希望我可以像这样构造请求:

url: http://127.0.0.1:7379/PUBLISH/channelname
body:someimportantinfo

但这不起作用;我没有收到错误,事件只是从不流经通道。

关于如何解决这个问题的任何想法。

4

1 回答 1

0

您的问题可以通过在 SystemA 和 WebDis 接口之间添加“垫片”来解决。
shim将接收来自 SystemA 的 HTTP 发布请求,提取正文,然后以所需格式将请求发送到 Redis。

由于您只想在出现问题时才将这些数据输入 Storm,因此我认为这种方法不会成为您系统的瓶颈(希望您的系统不会每秒都产生错误!)。

于 2013-10-19T21:41:34.820 回答