负载平衡如何工作?

负载平衡如何工作?

我不知道负载平衡器是如何工作的。例如在 Rackspace 云服务器上。

  1. 你有一个实例,里面有你所有的东西
  2. 您是否克隆了该实例,因此实际上存在两个相同的副本?
  3. 然后,您将从负载均衡器获得一个静态 IP,并将其发送到两个实例之一(它们实际上是相同的)

对吗?我在哪里可以找到更多信息?

答案1

这取决于您的设置。但是,基本的负载平衡设置包括单个数据库服务器。在 Django Book 中,在关于部署 Django,有一个简单的图表,说明了基本的负载平衡配置。

使用 Django 进行负载平衡

基本上,生成网页的计算机都共享同一个数据库,该数据库存储在专用服务器上。媒体文件(例如 CSS 和图像)可以存储在同一台服务器上,也可以存储在单独的专用媒体服务器上,尽管此角色可以由负载平衡器本身执行。

但是,在针对真正高流量或大量静态内容的高级设置中,您可能希望在多个不同的媒体服务器上提供静态文件。最后,您可能希望有一个分布式数据库设置,但这会引入一类全新的问题,这实际上是一个不同的主题(例如,您可以在不使用负载平衡器的情况下拥有分布式数据库)。

答案2

负载平衡将负载分配到您拥有的两个实例上。因此,一个实例不会处理所有工作。

  1. 您使用 Rackspace 设置负载均衡器。
  2. 您从负载均衡器收到一个静态 IP。
  3. 您将网站的 DNS 指向负载均衡器的静态 IP。
  4. 负载均衡器将流量平等地重定向到两个实例。

答案3

负载平衡有多种实现方式,每种方式都有自己的方法,并根据其专业化产生特定的优势。

  1. 节点之间通常存在一些共享或公共数据(数据、用户信息等)。
  2. 这取决于应用程序的体系结构,无论它是有状态的(存储数据)还是无状态的(传递数据),通常都有跨节点共享的通用代码(基本上是跨节点“克隆”的)
  3. IP 分配通常不通过负载平衡器进行管理,但 IP 配置通常是其配置的重要组成部分(因为每个联网组件/设备都需要自己的 IP 地址)

为了理解实现的具体细节,需要识别实现本身。

相关内容