我们正在构建在亚马逊上运行的可扩展Websocket云服务。我正在寻找更好的自动缩放和负载平衡策略,以用于我们的websocket API实例。
当前,我们的自动扩展策略仅基于CPU使用率,例如“当平均CPU> 80%时-启动更多实例,当CPU <30%时-冷却”,但我觉得这还不够。由于websocket的连接是长期存在的,因此增加容量显然不会帮助已经重载的当前实例。理想情况下,除了要自动调整CPU使用率之外,我还希望有一些指标,例如“TCP连接的平均数量”,以及将连接从过载实例转移到新实例的能力。通过“转移连接”,我并不是要保留任何状态,而只是将某些状态放到过载的实例中,并允许客户端为新实例建立新的状态,即在所有节点之间平均分配连接。
任何人都可以分享经验或建议有关最佳实践的好阅读,以便在AWS内运行可扩展的websocket应用程序吗?
最佳答案
就连接共享而言,我建议您阅读best practices doc的第9页。希望能有所帮助。
关于amazon-web-services - 适用于Websocket应用程序的更好的AWS自动扩展和负载平衡策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30859067/