将您的 Linux 应用程序迁移到 Amazon 云,第 2 部分: 提高应用程序可靠性
2010-08-25 00:00:00 来源:WEB开发网您可以结合使用横向和纵向扩展。使用较大的服务器和运行速度更快的磁盘更易于处理超出数据库容量的问题,且更易于 跨服务器分散计算。纵向扩展和横向扩展大部分是应用程序设计的一个功能。一些应用程序不能跨计算机分散,不管计算机有多快,这些操作都需要花费很多的时间。而且,一些应用程序可能会横向扩展到一定点,在该点,一个瓶颈会使添加数据库后应得的边际收益荡然无存。
当您跨越多个服务器分散应用程序时,问题出现了,即如何分配输入更新。进行这一操作最常用的设备是一个负载均衡器,这是一个从外部接收请求并将它们移交给下一个可用应用程序服务器的装置。因为这不是一个密集任务,一个设备就能处理大量连接,软件中也可处理这一功能。
Amazon EC2 提供一个云计算负载均衡器,称为 Elastic Load Balancing,在大多数场合都适用。它分配请求,可通过一个 API 重新配置为添加或删除服务器,并在后端服务器上执行常规检查。
另一个使用 Elastic Load Balancing 的方法是在一个 Amazon EC2 实例上运行您自己的负载均衡软件,比如 HAProxy 或 Varnish。这个过程比起使用 Elastic Load 更复杂,但是可以对流量提供更高级别的控制。Elastic Load Balancing 适用于 SmallPayroll.ca 这类应用程序。
图 2 显示了 SmallPayroll.ca 应用程序的新设计。
图 2. SmallPayroll.ca 应用程序以及各自的应用程序服务器
输入请求停留在 Elastic Load Balancing 上,并被发送给两个服务器之一。服务器本身运行 nginx,来处理静态请求并将任何动态请求委托给混合实例。混合实例附加到一个数据库服务器上。
更多精彩
赞助商链接