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