公司开发了半年多的一个网站项目上线了,是给US客户做的×××门户网站,上面有在线的×××游戏,调用的是其他游戏公司提供的接口,支持信用卡在线购买筹码,同时加入了社交元素,如文字图片分享,朋友关系等等。由于是个中小规模的网站,所以目前服务器数量并不多。

项目用到的所有服务器都是放在亚马逊AWS(Amazon Web Services)公有云上,使用RightScale云管理平台来进行配置和管理。把服务器都托管到云上的好处就是,你不用太关心本地机房的基础设施,什么电力供应,网络带宽,灾难备份这些的,通通不用考虑,一切都交给云服务商。话说US地区的网络带宽还是相当给力,基本上传下载能达到10MB+/s。

网站架构如下

105659688.png

网站最外层是Elastic Load Balancer,ELB是亚马逊提供的一项负载均衡服务,不需要额外创建服务器实例就可以直接使用,只需添加相应服务器,配置好端口,证书等等就可以立即使用。

然后是2台Web服务器,其上编译安装了Nginx 1.4.2,yum安装了PHP 5.4.4。

Memcached服务版本是1.4.4。

NFS服务器用来共享一些目录给web服务器,存放静态文件,如图片等等。

DB Load Balancer用的是HAProxy 1.4.22,用来对数据库服务器做负载均衡,配置了端口3306转发给Master作为写,端口3307转发给2台Slave作为读。

最后就是3台MySQL数据库服务器,MySQL版本是5.5.30,DB01做Master,DB02和DB03分别是2台Slave。

剩余还有其他一些用于事件服务,消息服务,Tomcat服务的机器没有在此列出。

由于网站规模不大,目前访问量看来不算大,所有没有做像Squid,Varnish这种缓存层。


RightScale作为一个通用云平台管理工具可以管理很多公有云提供商的服务器实例,如AWS,Rackspace,Google Compute Engine等等,由它作为一个统一的管理接口。它提供了很多现成的服务器模板可供使用,直接克隆其模板,同时可以定制模板,加入自己的脚本文件,然后从模板发布实例,就能直接使用了。

AWS也提供了很多额外服务配合它的服务器实例使用,非常的方便。

  • 最为基础的就是EC2(Elastic Compute Cloud),所有的虚拟服务器实例(EC2 Instance)就是基于这个服务,实例大小丰俭由人,可根据系统负载状况合理选择;还有EC2 Security Group, 用来管理端口的,相当于一个界面化的iptables;EC2 Elastic IP用来分配管理静态公有IP;EC2 SSH Keys用来生成并管理登录key文件的。

  • 刚刚提到的ELB,就是用作负载均衡的,可以针对外部访问的负载均衡也可以是内部的。

  • 还有像S3(Simple Storage Service),用来做云存储的,后期开发人员考虑会去掉NFS服务器,直接将静态文件都放在S3上面,读取性能应该更好,也不会存在单点故障。

  • VPC(Virtual Private Cloud)允许你在云端规划一个属于你自己的局域网,将所有服务器实例放入这个VPC,从而不需要将所有服务器都暴露在公网上面,大大提高了安全性,建立一个***到公司的内部网络,这样就像是访问自己内网一样方便。

  • Route53 是AWS自己的DNS服务,虽然它不能提供像公共域名注册这样的服务,但是你可以将其域的NS更新到域名注册商那里,就可以直接通过Route53来管理公共域名了,这样增加删除DNS记录非常方便。

  • 另外还有EBS Volume(Elastic Block Store),提供了块级存储卷服务,利用它你可以指定一个任意大小的磁盘挂载给服务器使用,这个应该类似于NAS,性能和可靠性都不错的。

  • EBS Snapshot则是对EBS Volume做快照,备份和恢复都非常方便,尤其体现在对MySQL服务器的备份上面,备份速度快也不会影响系统性能。


东西好用,不过价格也不菲,目前大部分的消费都出自于EC2 Instance,也就是服务器实例的消耗,由于是计时消费,长期来说还是比较恐怖的,小一点的实例一般0.13刀/小时,大一点儿的实例就要差不多1刀/小时,如果是大规模集群的话可以直接忽略使用公有云了。


以上算是自己半年来项目过程中的一些心得体会吧,希望能跟大家多多交流。


P.S. 大家如果对公有云服务感兴趣的话,可以登录RightScale或AWS的官网申请免费试用60天账号,

链接

https://www.rightscale.com/s/create-account.php?sd=Free

http://aws.amazon.com/cn/


参考链接:

Story of a RightScale Server

What is Amazon EC2