Restcomm 的高可用性

High-availability for Restcomm

我正在为 RestComm 计划一个具有自动缩放功能的高可用性设置,并且对最佳计划方式有一些普遍的疑问。

这是我现在拥有的:

要进行下一步,我有一些问题:

  1. Amazon Load Balancer 不是一个选项,因为它不支持 UDP,所以我正在考虑 Telestax LB,是否正确?是否可以使用 docker 部署它?
  2. 将 Restcomm MS 移到 docker Restcomm 图像之外,以便它可以独立缩放。 Restcomm 提供 env 变量来指定 MS,所以我会在它后面有一个 LB 和几个 MS。正确吗?
  3. 一个 Restcomm 实例需要多少 RAM 以及支持多少个并发会话?。我们如何以编程方式实时知道有多少个并发会话?
  4. RestComm 实现了"automatic scaling"机制?更多信息将不胜感激。 Ubuntu Juju 不是我的选择。
  5. 我们正在考虑使用 Graylog2 或 logstasch 进行日志管理。这里有什么见解吗?如何在 docker 图像中安装代理?

我找到的唯一文档是这个非常好的文档:https://docs.google.com/document/d/13xlaioF065pDnQUoZgfIpi6Noh0qHfAZ7U6afcPd2Y0/edit

还有其他文件吗?

提前致谢!

非常好的问题:

  1. 是的。看,https://hub.docker.com/r/restcomm/load-balancer/

  2. 您将有一个 LB(最好有 2 个主动被动以避免单点故障),X Restcomm 在它后面与它们后面的 Z 媒体服务器通信。

  3. 这取决于上面应用的复杂程度。但这里有一些数字 https://github.com/RestComm/Restcomm-Connect/wiki/Load-Testing-on-Docker

  4. 还没有。如果 juju 不是一个选项,你可以使用 Mesos 或 Kubernetes。我们现在有一组针对 kubernetes 的未解决问题,但 Mesos 应该可以正常工作。

  5. 您可以检查 https://hub.docker.com/r/restcomm/graylog-restcomm/ 它包含预加载的 docker 图像,其中包含轮询 restcomm 服务器以收集指标所需的一切。