最初,我们有两个AWS EC2实例,它们的node.js在带有粘性会话的负载均衡器后面运行。随着负载增加,将添加更多实例。
但是我们正面临这种方法的问题。由于外出应用主要用于车间,因此负载通常会在较短的时间内(车间开始)增加,并且每个车间参与者都对前两个实例有粘性会议,而新实例几乎没有。因此,性能仍然很差。
首先想到的是:让我们禁用粘性会话。但这破坏了我们的网络套接字,因为它们需要粘性会话(至少这是我读过的内容)。另一个问题是负载减少。实例关闭,套接字连接也丢失。
有没有一种方法可以在实例之间转移用户会话或使Websocket在没有粘性会话的情况下工作(也许使用Redis)?
load-balancing amazon-web-services node.js sticky-session elastic-load-balancer
我有一个这样的代码片段:
export class TagCloud {
tags: [Tag];
locations: [Location];
constructor() {
this.tags = new Array<Tag>();
this.locations = new Array<Location>();
}
}
Run Code Online (Sandbox Code Playgroud)
但这给了我以下错误:
错误TS2322:类型'Tag []'不能分配给'[Tag]'类型.'Tag []'类型中缺少属性'0'.
错误TS2322:类型'位置[]'不能分配给'[Lo cation]'类型."Location []"类型中缺少属性"0".
我做错了什么(代码工作正常)?
我正在使用带有es6-shim类型描述的打字符(https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/es6-shim).