将您的 Linux 应用程序迁移到 Amazon 云,第 2 部分: 提高应用程序可靠性
2010-08-25 00:00:00 来源:WEB开发网您需要关联性,否则您需要自己应对出现的问题。像 memcached 这类分布式缓存不关注从哪个服务器上对其进行访问。您可以将会话数据存储在数据库或一个分布式缓存中。您也需要在一个客户端 cookie 中选择存储信息,具体取决于您的安全需要。
您可以启动您的 Rails 应用程序,通过应用程序服务器的公共 IP 地址连接它。如果出现一个错误,检查下列内容:
PostgreSQL 正在监听所有接口吗?postgresql.conf 文件必须有 listen_addresses="*" 这样一行。
pg_hba.conf 允许 10/8 地址使用 MD5 身份验证进行连接吗?
您的 Amazon 安全组允许连接到数据库服务器吗?
创建一个负载均衡器
弹性负载均衡器是一个比较简单的负载均衡器。请求进入负载均衡器,然后被转发到池中一个可用的服务器中。弹性负载均衡可以进行一些基础的 Web 服务器状况检查,来避免将请求发送到出现故障的服务器。它也有一些基本的关联性机制可以让您维护同一后端服务器上的用户。还有一些高级特性,比如根据 URL 重新定向,目前还不受支持。
配置 Elastic Load Balancing 有三个步骤:
创建负载均衡实例。
定义您的正常检查。
配置 DNS 使其指向 Elastic Load Balancing 名。
清单 7 显示了正在运行中的前两个步骤。
清单 7. 配置一个弹性负载均衡实例
$ elb-create-lb smallpayroll-http \
--listener "lb-port=80,instance-port=80,protocol=HTTP" \
--availability-zones us-east-1a
DNS_NAME DNS_NAME
DNS_NAME smallpayroll-http-706414765.us-east-1.elb.amazonaws.com
$ elb-configure-healthcheck smallpayroll-http --target "HTTP:80/" \
--interval 30 --timeout 3 --unhealthy-threshold 2 --healthy-threshold 2
HEALTH_CHECK TARGET INTERVAL TIMEOUT HEALTHY_THRESHOLD UNHEALTHY_THRESHOLD
HEALTH_CHECK HTTP:80/ 30 3 2 2
更多精彩
赞助商链接