将您的 Linux 应用程序迁移到 Amazon 云,第 2 部分: 提高应用程序可靠性
2010-08-25 00:00:00 来源:WEB开发网配置应用程序服务器
在应用程序服务器上几乎不需要进行任何设置,因为它们是从 AMI 克隆的,AMI 能够根据本地数据库运行应用程序。Rails 应用程序从 config/database.yml 中读取其数据库配置,告知应用程序将要使用的数据库。默认情况下,应用程序连接到本地主机。
首先,通过向 /etc/hosts 添加一个条目来创建一个 DNS 别名。例如,10.201.207.180 dbserver 将别名 dbserver 赋给地址 10.201.207.180。使用数据库的私有地址是很重要的,这是分配给 eth0 的地址,而不是您连接的公共地址。在同一个可用性区域中 Amazon EC2 实例私有地址之间的通信是免费的,但是从一个 Amazon EC2 实例到另一个实例的公共地址的通信是要付费的。
接下来,添加您的 database.yml 文件,将您的应用程序指向之前创建的 DNS 别名,清单 6 显示了这个配置。
清单 6. 将应用程序指向数据库服务器
production:
adapter: postgresql
encoding: utf8
database: payroll_prod
pool: 5
username: payroll
password: secret
host: dbserver
会话关联性
会话关联性(Session affinity)有时候也称为会话持久性(session persistence),指的是一个负载均衡器的特性,这个平衡器记录哪个客户机同哪个服务器对话。下一次,当客户机发出请求时,请求被直接发送到同一个后端 Web 服务器,允许应用程序在本地 RAM 或磁盘中保留记录,而不需要在池中的所有成员之间共享信息。
会话关联性发生故障的征兆包括用户随意退出应用程序或输入似乎不翼而飞。在这种情况下,接收请求的服务器可能丢失会话数据之类的信息,因为它位于另一个计算机中。
更多精彩
赞助商链接