代码之家  ›  专栏  ›  技术社区  ›  Luke101

如何开发负载平衡友好的web应用程序

  •  8
  • Luke101  · 技术社区  · 15 年前

    开始开发到我的网站的实际代码,想知道如何开发或设计负载平衡友好的网站。我在stackoverflow上读到一篇关于可伸缩性的文章,选择的答案是:“在开发应用程序时一定要考虑负载平衡”。我该怎么办?

    6 回复  |  直到 15 年前
        1
  •  3
  •   Dave Swersky    15 年前

    你的决定将取决于环境。如果这是一个待售产品,您将无法控制负载平衡实现。这意味着“粘性会话”无法保证用户在会话期间绑定到同一服务器。粘滞会话允许几乎任何应用程序进行负载平衡,但它们没有那么高效。

    如果不能保证使用粘性会话实现,请避免使用会话状态,或者查看共享会话解决方案。

        2
  •  2
  •   Aliostad    15 年前

    1) 不要使用静态字段来存储数据、统计信息。。。

    2) 小心使用会话-您仍然可以在进程中使用粘性会话,但我不喜欢它。

    3) 不依赖服务器的IP

        3
  •  1
  •   Erik Funkenbusch    15 年前

    一个答案是减少对会话变量的依赖。可以通过会话服务器在服务器之间共享会话变量,但这意味着所有服务器在会话服务器上都有一个单点故障,另外还会降低性能。

        4
  •  1
  •   BrokenGlass    15 年前

    这对大多数人来说可能是显而易见的,但在我们开始使用负载平衡器/多个web服务器时,这实际上是我们环境中的一个问题:不要依赖web服务器的IP地址。

    我们有一个使用交换机和一组内部IP地址的生产环境,包括一个web服务器(我们的产品通常运行在关闭的环境中,而不是开放的Internet)。如果有多个web服务器出现问题。

        5
  •  1
  •   Hector Correa    15 年前

        6
  •  0
  •   Lorenzo OnoSendai    15 年前

    要考虑的一件事是使用会话数据来维护状态。

    由于应用程序的后续请求可以由平衡线中的其他服务器处理,因此不能使用InProc模式和StateServer模式。