Для Rasa core и Rasa nlu, как должна быть надежная инфраструктура?

Мое приложение REST разрабатывается на Python и Flask, я также использую Rasa Core и Rasa NLU. В настоящее время все представляет собой единый локальный сервер разработки. Хотите узнать, какие идеальные рекомендации для производства?

Сценарий, который я придумал: обработать все пламя REST и структуру базы данных на одном сервере, оставить Rasa Core вместе с «микро» приложением Python на другом сервере и Rasa NLU на третьем сервере.

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


И какие будут идеальные настройки, если вы оставите 1 сервер со всеми или 3 серверами? (для AWS)


person Luís De Marchi    schedule 04.04.2018    source источник


Ответы (1)


Для максимальной масштабируемости вы можете использовать контейнерное решение с балансировкой нагрузки.

  1. Rasa NLU имеет публичный контейнер докеров (или вы можете создать свой собственный). Используйте docker и kubernetes, чтобы масштабировать NLU до необходимого размера базы
  2. Создайте отдельные контейнеры докеров для вашего ядра rasa, подключившись к балансировщику нагрузки NLU для перевода NLU. При необходимости используйте здесь также балансировщик нагрузки.
  3. Сделайте то же самое для своего REST-приложения, подключившись к балансировщику нагрузки №2.

Это решение позволит вам масштабировать NLU и ядро ​​по отдельности, но вам это нужно, а также вашему приложению REST, если вам нужно сделать это отдельно.

Я написал руководство по этому поводу, если вам интересно здесь:

person Jason Smith    schedule 11.04.2018