我们正在构建在亚马逊中运行的可扩展websocket云服务。我正在寻找更好的自动扩展和负载平衡策略,以便与我们的websocket API实例一起使用。
目前我们的自动调节策略仅基于CPU使用率,例如&#34;当平均CPU&gt; 80% - 当CPU <1时,启动更多实例。 30% - 冷却&#34;,但我觉得它还不够。由于websocket连接是长寿命的,因此增加容量显然不会帮助已经过载的当前实例。理想情况下,我希望有一些像?&#34;平均TCP连接数&#34;除了CPU使用自动缩放外,还有将重载实例的连接转移到新实例的能力。通过&#34;传输连接&#34;我并不意味着保留任何状态,只是简单地将一些状态丢弃到重载的实例中,并允许客户端为新实例建立新的实例,即在所有节点上均匀地分配连接。
任何人都可以分享经验或建议一些关于在AWS中运行可扩展的websocket应用程序的最佳实践的好读物吗?
答案 0 :(得分:-1)
就连接共享而言,我建议您阅读best practices doc的第9页。希望有所帮助。
答案 1 :(得分:-2)
如果没有收集更多信息,任何人都不容易回答。 基本上你要问的是,是云中规模设计的基础。
您的问题的答案是,收集更多数据。
我知道这可能会让你烦恼,这不仅仅是一个答案,但我保证你会得到最好的答案。 您的解决方案的有效性将取决于您收集更多数据的能力。 但是嘿!关于这个行业最好的事情是,所有的确切数据都在那里,如果你花时间没有猜测工作。
回去收集: