Развертывание приложения, которое использует API-интерфейс потока твиттера на нескольких серверах

Я использую API потоковой передачи Twitter, чтобы получать последние твиты из Twitter и отвечать на них, если они соответствуют определенным критериям (конкретному хэштегу) Если он развернут на одном экземпляре, он работает очень хорошо, поскольку на твиты отвечает только одно приложение.

Если я захочу масштабировать это до нескольких экземпляров, будет много приложений, которые будут обрабатывать один и тот же твит. Вероятное решение, которое я думал, заключалось в том, чтобы поддерживать общую базу данных, где каждый раз, когда я беру твит, перед тем, как отвечать на них, я ввожу его в базу данных, а другие экземпляры проверяют, получил ли твит ответ или нет. Но это кажется неправильным, так как это замедлит процесс и может вести себя странно, если оба экземпляра выбирают один и тот же твит в одно и то же время.

Извините, если разместили не на том форуме.

0
задан 1 April 2016 в 11:29
1 ответ

Вы предлагаете, как все должно быть сделано: иметь один сервер или пул серверов, которые используют API и добавляют каждый новый твит в базу данных, а затем еще один сервер или пул «рабочих», которые выполняют действия с записями базы данных.

Вы также можете рассмотреть вопрос о рабочей очереди, чтобы передавать сообщения о новых твитах вашим рабочим.

Если все будет реализовано правильно, дополнительная сложность добавит к вашему ответу всего несколько миллисекунд, что, вероятно, не будет иметь значения для этот вариант использования.

0
ответ дан 5 December 2019 в 10:38

Теги

Похожие вопросы