2

我的 REST 应用程序是用 Python 和 Flask 开发的,我也在使用 Rasa Core 和 Rasa NLU。目前一切都是一个单一的本地开发服务器。您想知道哪些理想的生产建议?

我想象的一个场景:在一台服务器上处理所有 REST 火焰和数据库结构,在另一台服务器上保留 Rasa Core 和“微型”python 应用程序,在第三台服务器上保留 Rasa NLU。

但问题是:所有用户最终都会询问 3 台级联服务器,所以我认为所有服务器都受到相同的请求瓶颈。


如果您将 1 台服务器留给所有或 3 台服务器,那么理想的设置是什么?(对于 AWS)

4

1 回答 1

4

要成为最可扩展的,您可以使用具有负载平衡的容器化解决方案。

  1. Rasa NLU 有一个公共 docker 容器(或者您可以创建
    自己的)。使用 docker 和 kubernetes 将 NLU 扩展到您需要的基础大小
  2. 为您的 rasa 核心创建单独的 docker 容器,连接到 NLU 负载均衡器以进行 NLU 转换。如果需要,也可以在这里使用负载均衡器。
  3. 对您的 REST 应用程序执行相同操作,连接到 #2 负载均衡器

此解决方案将允许您单独扩展 NLU 和核心,但是如果您需要单独执行此操作,您还需要扩展您的 REST 应用程序。

如果您对此感兴趣,我写了一个教程

于 2018-04-11T18:50:11.337 回答