Собираюсь написать своего чат-бота для ВК, и заранее стало интересно, как повышают быстродействие бота. Отсюда у меня появилось так же немало других вопросов, а именно: Если в сообщения сообщества пишет одновременно несколько человек, вк посылает на мой сервер эти запросы разом или создает очередь из запросов? Для каждого запроса от вк создается новый инстанс скрипта бота?
И в итоге, если мы имеем достаточно популярного бота, то как мы справляемся с большой нагрузкой, создаем какие-то потоки в самом скрипте или увеличиваем мощности нашего сервера, как это все устроено?
P.S. В пучину веб-программирования окунулся не так давно, поэтому вопросы могут показаться глупыми, попрошу не закидывать камнями:)
pantsarny, да, я понимаю. я сейчас и не думал предпринимать в этом плане каких-то действий, мне просто интересен сам вопрос, как это принято делать и т. д. Плюс те два вопроса про вк.
pantsarny, лонг полл вроде как отсылает уведомления о событиях не сразу, насколько я понял. Так что да, похоже callback наиболее подходящий вариант для меня.
Я вот посмотрел лонг полл, там написано "Long Poll отправляет в ответе на Ваш запрос сразу несколько событий" и это "В отличие от Callback API, очередь из событий хранится на стороне ВКонтакте — мы не будем присылать отдельное уведомление для каждого события". То есть если произошло событие в группе, он не сразу отправляет его мне на сервер, а копит у себя, а потом, когда лонг полл соединение заканчивается он отправляет мне все разом? И если это так, то у пользователей будут задержки в получении ответа от моего скрипта, разве не так?
P.S. Пишу бота на Питоне
Смысл лонгпула в том что ты уже отправил запрос в ВК и как только появилось событие он тебе пишет ответ. По факту оч быстро, но действительно часто много событий в одном прилетают. И если за 90 сек ничего не произошло (событий) то придется опять отправлять запрос лонгпулл(собственно и так же когда он тебе ответил раньше). (Он не ждет 90 сек чтоб отправить response если что)
ayazZali, ясно, теперь понял. Но по сути callback это то же самое, только не надо отправлять запрос к вк для прослушивания событий сообщества. И отсюда вопрос, в чем принципиальное различие этих двух методов и какой более предпочтительнее использовать?
Bjornsen, если тебе в рантайме не нужен обмен данными между полученными сообщениями - callback хватит с головой. nginx + php-fpm будет асинхронно принимать данные, которые можешь класть в бд. никаких проблем не будет.