Как установить конечную точку API отдыха как Storm Spout?

Я хотел бы настроить конечную точку api rest в качестве штормового излива, т. Е. Всякий раз, когда делается запрос к URL-адресу конечной точки (например, http://example.com/search?q=test), я хотел бы выполнить топологию шторма. с определенными болтами.

Проблема в том, что не все запросы времени сделаны также, носик nextTuple() метод должен вызываться через определенный промежуток времени, и об этом интервале нет никаких представлений. И как я могу также прослушать http-URL для запроса и выполнить топологию при каждом запросе? Как контролировать одновременные запросы и как я могу определить нет. рабочих для выполнения топологии, потому что трафик на этот URL является неопределенным.

Один альтернативный обходной путь, я подумал о том, чтобы отправить запросы в очередь kafka, как и когда запрос сделан, и затем использовать носик kafka. Любая другая идея сделать это без использования Кафки?

Мне нужно сделать две работы: обработать запрос в формате json и затем вывести строку json в очередь kafka. Является ли шторм лучшим решением для этого?

Должен ли я рассмотреть альтернативные рамки, такие как Spark, чтобы сделать это?

1 ответ

Вам нужно взглянуть на Storm DRPC. Проще говоря, Storm DRPC - это функция, вы предоставляете параметры и получаете результат. Ваша топология Storm будет использована для предоставления ответа.

Позвольте вашей конечной точке REST отправить запрос в Storm DRCP.

Другие вопросы по тегам