Я собираюсь создать телеграмм-бота для одновременной обработки 150 тыс. пользователей (в секунду).
Я собираюсь использовать TDLib (потому что я хочу столкнуться с ограничениями Telegram Bot API около 30 сообщений в секунду).
Раньше я всегда использовал Telegram Bot Webhook. Я зарегистрировал webhook, чтобы указать на свой сервер. А мой сервер обрабатывает запросы от Telegram и отправляет сообщения пользователям. У меня не было никакой нагрузки на моем сервере. Максимальная загрузка 10 или 30 пользователей в секунду.
Теперь я собираюсь использовать TDLib. Итак, взаимодействие по архитектуре.
Взаимодействие 1. Telegram Webhook + TDLib
Это не работает, потому что в логах nginx я вижу, что nginx не получает никаких запросов веб-хука, когда работает TDLib.
Взаимодействие 2. Несколько экземпляров TDLib
Оно работает. Каждый экземпляр может отправлять сообщения и получать обновления. Но я беспокоюсь о сетевом трафике, потому что каждый экземпляр будет получать все обновления.
Взаимодействие 3. Один экземпляр TDLib (ВЫБРАН В НАСТОЯЩЕЕ ВРЕМЯ)
Один экземпляр TDLib получает все обновления и просто отправляет их в очередь (назовем его in.queue).
Я напишу программу для обработки обновлений из очереди in.queue.
Обработка обновления из очереди заключается в создании команды ответа и отправке ее в другую очередь (out.queue).
Экземпляр TDLib прослушивает out.queue и применяет команду.
Но я хочу знать, как я могу протестировать своего бота перед развертыванием в рабочей среде.
Можно ли как-то сэмулировать такую нагрузку (150к пользователей одновременно) для проверки моей архитектуры?