【问题标题】:How to create an scalable Websocket application using AWS elb?如何使用 AWS elb 创建可扩展的 Websocket 应用程序?
【发布时间】:2018-11-24 17:23:58
【问题描述】:

我正在开发一个 Websocket 应用程序,但我对如何创建一个可扩展的应用程序存有疑问。

1- 我应该使用 Nginx 吗?如果是这样,nginx 站在哪里?应该是这样的:

ELB -> Nginx -> Ec2 实例

Nginx -> ELB -> Ec2 实例

2- 是否需要使用 Redis 之类的服务来进行服务器之间的通信?示例:我连接到 server1,我的朋友连接到 server2,但我们在同一个房间聊天。如果我发送消息,则需要发送给我的朋友。

3 - 是否可以让我的 Elb 只接收 https 中的呼叫但与后端的对话是 http?我问这个,因为我使用 OpsWorks,并且很难规范化说明书以创建我的环境。

谢谢。

【问题讨论】:

    标签: amazon-web-services nginx websocket scalability amazon-elb


    【解决方案1】:
    1. 一般架构如下:

    ALB --> nginx1,niginx2 --> ALB --> ec2 websocket server1, server2

    这允许您的网络服务器和应用服务器彼此独立地进行负载平衡

    1. 不一定。 Redis 主要用作用于缓存的内存数据存储。

    2. 是的 - 您可以在 ALB 上终止 ssl,实际上建议这样做,以便在负载均衡器上卸载 ssl 处理,而不是在实例本身上执行。见-https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html。使用它的另一个好处是您可以使用 ACM 免费颁发可以部署在 ALB 上的证书。 ACM 也可以自动为您处理续订。

    【讨论】:

    • 关于问题 2。如我的示例所示,我如何保证消息会到达每个人?我的意思是……如果我不使用 Redis,这怎么可能?
    猜你喜欢
    • 2017-01-04
    • 2020-11-19
    • 2019-07-05
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 2018-06-07
    • 1970-01-01
    • 2014-02-15
    相关资源
    最近更新 更多