Size: a a a

Яндекс.Диалоги (сообщество разработчиков)

2019 March 19

DR

Dmitri Razin in Яндекс.Диалоги (сообщество разработчиков)
Vana Kempinen
Здравствуйте, только присоединился к группе, поэтому, возможно, дублирую вопрос, тем не менее. Не кажется ли вам странной технология вэбхука, реализованная в Алисе? (т.е. невозможность давать ответ отложено, в ответ на запрос должен лететь непосредственный ответ на него, на всё -про-всё даётся полторы секунды). Собственно, основной вопрос: "Представим себе, что ваш навык популярен и многофункциональный,т.е. требуется многоступенчатая обработка запроса, включающая подключения к бд,возможно, использование других сервисов для формирования динамического ответа и т.п. Как вы боретесь с тем, что Яндекс может закидать ваш сервер запросами, вызвать туево-тутуево скриптов хука и выжрать всю оперативу и цп" (подобные ситуации в других хуках (вк,тг и прочее) решаю тем, что хук выступает постановщиком реквестов в очередь, далее по крону запускается парсер запросов, дающий результирующий запрос ответа к серверу или урл этого запроса и так же в кроне работает очередь отдачи ответов). Мне просто абсолютно непонятно, как не дать Яндексу заспамить свой сервер. Заранее спасибо за ответы, извините за длиннопост.
Или страдать будут пользователи или страдать будете вы, в таком сегменте как «голосовой ассистент» первое просто недопустимо
источник

EK

Evgeny Kruglov in Яндекс.Диалоги (сообщество разработчиков)
Vana Kempinen
Здравствуйте, только присоединился к группе, поэтому, возможно, дублирую вопрос, тем не менее. Не кажется ли вам странной технология вэбхука, реализованная в Алисе? (т.е. невозможность давать ответ отложено, в ответ на запрос должен лететь непосредственный ответ на него, на всё -про-всё даётся полторы секунды). Собственно, основной вопрос: "Представим себе, что ваш навык популярен и многофункциональный,т.е. требуется многоступенчатая обработка запроса, включающая подключения к бд,возможно, использование других сервисов для формирования динамического ответа и т.п. Как вы боретесь с тем, что Яндекс может закидать ваш сервер запросами, вызвать туево-тутуево скриптов хука и выжрать всю оперативу и цп" (подобные ситуации в других хуках (вк,тг и прочее) решаю тем, что хук выступает постановщиком реквестов в очередь, далее по крону запускается парсер запросов, дающий результирующий запрос ответа к серверу или урл этого запроса и так же в кроне работает очередь отдачи ответов). Мне просто абсолютно непонятно, как не дать Яндексу заспамить свой сервер. Заранее спасибо за ответы, извините за длиннопост.
Ну как обычно это решается - лоадбалансинг, шардинг
источник

AZ

Andrew Zahalski in Яндекс.Диалоги (сообщество разработчиков)
Vana Kempinen
Здравствуйте, только присоединился к группе, поэтому, возможно, дублирую вопрос, тем не менее. Не кажется ли вам странной технология вэбхука, реализованная в Алисе? (т.е. невозможность давать ответ отложено, в ответ на запрос должен лететь непосредственный ответ на него, на всё -про-всё даётся полторы секунды). Собственно, основной вопрос: "Представим себе, что ваш навык популярен и многофункциональный,т.е. требуется многоступенчатая обработка запроса, включающая подключения к бд,возможно, использование других сервисов для формирования динамического ответа и т.п. Как вы боретесь с тем, что Яндекс может закидать ваш сервер запросами, вызвать туево-тутуево скриптов хука и выжрать всю оперативу и цп" (подобные ситуации в других хуках (вк,тг и прочее) решаю тем, что хук выступает постановщиком реквестов в очередь, далее по крону запускается парсер запросов, дающий результирующий запрос ответа к серверу или урл этого запроса и так же в кроне работает очередь отдачи ответов). Мне просто абсолютно непонятно, как не дать Яндексу заспамить свой сервер. Заранее спасибо за ответы, извините за длиннопост.
так а в чем уменьшение нагрузки при постановке запросов в очередь? по сравнению с реалтайм режимом?!
или вы боитесь, что после публикации навыка он даст вам посетителей на 100fps?
источник

VK

Vana Kempinen in Яндекс.Диалоги (сообщество разработчиков)
Andrew Zahalski
так а в чем уменьшение нагрузки при постановке запросов в очередь? по сравнению с реалтайм режимом?!
или вы боитесь, что после публикации навыка он даст вам посетителей на 100fps?
реализация хука в Яндекс.Диалогах предполагает ВСЮ обработку непосредственно на хуке, постановка в очередь даёт возможность минимизировать нагрузку
источник

DR

Dmitri Razin in Яндекс.Диалоги (сообщество разработчиков)
Vana Kempinen
реализация хука в Яндекс.Диалогах предполагает ВСЮ обработку непосредственно на хуке, постановка в очередь даёт возможность минимизировать нагрузку
Она копит технический долг)
источник

AZ

Andrew Zahalski in Яндекс.Диалоги (сообщество разработчиков)
Vana Kempinen
реализация хука в Яндекс.Диалогах предполагает ВСЮ обработку непосредственно на хуке, постановка в очередь даёт возможность минимизировать нагрузку
распределить... скорее
но в любом пока ассинхронного протакола нет в алисе
источник

VK

Vana Kempinen in Яндекс.Диалоги (сообщество разработчиков)
например, 20 запросов в секунду, которые мне летят в ВК на пике за секунду,  я обрабатываю в среднем за секунду каждый в один поток, а запросы к Алисе я обязан обрабатывать моментально, т.е. по полной забивать ту же оперативную память
источник

EK

Evgeny Kruglov in Яндекс.Диалоги (сообщество разработчиков)
Dmitri Razin
Она копит технический долг)
Скорее сглаживает пики
источник

VK

Vana Kempinen in Яндекс.Диалоги (сообщество разработчиков)
Andrew Zahalski
распределить... скорее
но в любом пока ассинхронного протакола нет в алисе
это мне сказала еще поддержка Яндекса)
источник

DR

Dmitri Razin in Яндекс.Диалоги (сообщество разработчиков)
Evgeny Kruglov
Скорее сглаживает пики
Я про то что, к Алисе у конечного пользователя требования как к обычному человеку от которого нужно получить информацию, многих в обычном общении может смутить ожидание ответа от собеседника на вопрос в течение нескольких секунд, думаю люди из Команды диалогов как минимум проводили исследования и при ответе навыка на вопрос больше определенного времени процент отказов возрастал и они поставили 1 секунду как оптимальный вариант.

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

AZ

Andrew Zahalski in Яндекс.Диалоги (сообщество разработчиков)
Vana Kempinen
например, 20 запросов в секунду, которые мне летят в ВК на пике за секунду,  я обрабатываю в среднем за секунду каждый в один поток, а запросы к Алисе я обязан обрабатывать моментально, т.е. по полной забивать ту же оперативную память
Это вы еще не учитываете, что система должна открыть соединение и отправить данные :)
т.е. нагрузку так не минимализировать...
Но вообще особых проблем с работой ботов не ловил пока, на пике гдето 40fps и все это еще и на php (гдето в 6 процессов nginx + php-fpm, точно не помню настроек)
источник

EK

Evgeny Kruglov in Яндекс.Диалоги (сообщество разработчиков)
Dmitri Razin
Я про то что, к Алисе у конечного пользователя требования как к обычному человеку от которого нужно получить информацию, многих в обычном общении может смутить ожидание ответа от собеседника на вопрос в течение нескольких секунд, думаю люди из Команды диалогов как минимум проводили исследования и при ответе навыка на вопрос больше определенного времени процент отказов возрастал и они поставили 1 секунду как оптимальный вариант.

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

VK

Vana Kempinen in Яндекс.Диалоги (сообщество разработчиков)
Dmitri Razin
Я про то что, к Алисе у конечного пользователя требования как к обычному человеку от которого нужно получить информацию, многих в обычном общении может смутить ожидание ответа от собеседника на вопрос в течение нескольких секунд, думаю люди из Команды диалогов как минимум проводили исследования и при ответе навыка на вопрос больше определенного времени процент отказов возрастал и они поставили 1 секунду как оптимальный вариант.

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

DR

Dmitri Razin in Яндекс.Диалоги (сообщество разработчиков)
Vana Kempinen
не знаю, как это мешает отдаче универсального ответа в стиле ваш запрос обрабатывается, а затем отдачи результата непосредственного запроса. Тут, яндекс запрещает слать ответы на запросы асинхронно и , как по мне, это серьёзная потеря функционала, который ест ьв других хуках
Если вы за ответом идёте куда нибудь ещё (внешний запрос к другому api к примеру) то такие вещи выгодней закешировать у себя.

А сообщение о обработке запроса портит ощущения у конечного потребителя.
источник

EK

Evgeny Kruglov in Яндекс.Диалоги (сообщество разработчиков)
Можно ж сделать "я отправила запрос,  думаю что результат уже готов, давайте проверим?" И вот вам ещё 15 секунд
источник

EK

Evgeny Kruglov in Яндекс.Диалоги (сообщество разработчиков)
Но пользоваться таким не будут
источник

VK

Vana Kempinen in Яндекс.Диалоги (сообщество разработчиков)
Dmitri Razin
Если вы за ответом идёте куда нибудь ещё (внешний запрос к другому api к примеру) то такие вещи выгодней закешировать у себя.

А сообщение о обработке запроса портит ощущения у конечного потребителя.
В то случае когда, например, речь идёт о поиске ближайшего магазина по локации в большом количестве городов, кэшировать придётся очень много)
источник

FA

Finna Alex in Яндекс.Диалоги (сообщество разработчиков)
я имею ввиду "ранжирование" навыков в рубриках:  за утро менялось 2 раза точно - увы скриншоты не делала. Это какая-то персонализированная выдача как поиске яндекса? : )
источник

VK

Vana Kempinen in Яндекс.Диалоги (сообщество разработчиков)
Evgeny Kruglov
Но пользоваться таким не будут
именно, тут речь скорее о том, чтобы пользователь мог получить результат не с меньшее скоростью, а с меньшей нагрузкой на сервер, неликвидные с точки зрения клиента навыки самовыпилятся
источник

VK

Vana Kempinen in Яндекс.Диалоги (сообщество разработчиков)
хочется, асинхронности в ответах, пусть с лайфтаймом на ответ, но тем не менее, отделить обработку запроса от ответа на этот запрос
источник