Son*_*tos 6 scalability amazon-ec2 amazon-web-services
我是AWS的新手,它有很多产品(EC2,负载均衡器,EBS,S3,SimpleDB等),还有很多文档,我无法弄清楚我必须从哪里开始.
我的目标是为可扩展性做好准备.
假设我想建立一个简单的网络服务器,它访问mongolab中的数据库.我想我需要一个EC2实例来运行它.此时,我还需要更多东西(EBS,S3等)吗?
在某些时候,我的应用程序已达到足够的流量,我必须扩展它.我正在考虑启动我的EC2机器的新副本(实例).但是它会有另一个IP.那么,如何在两个EC2实例之间分配流量?那是自动的吗?我必须雇用Load Balancer服务来分配流量吗?那么我需要支付2个EC2实例和1个LB吗?此时,我还需要更多东西(例如:弹性IP)吗?
bwi*_*ght 13
欢迎来到Sony Santos俱乐部,
AWS是一个非常强大的架构,但有了这个功能,责任就来了.我和其他许多人已经学会了使用AWS服务构建应用程序的艰难方法.
你问,我从哪里开始?这实际上是一个非常好的问题,但你可能不喜欢我的答案.您需要阅读并研究亚马逊甚至其他供应商提供的所有技术,例如Rackspace,GoGrid,Google的Cloud和Azure.亚马逊不容易上手,但它并不是真的,它的重点更多的是可定制化和具有非常广泛的API.但是让我们回到你的问题.
要运行简单的Web服务器,您需要启动EC2实例,默认情况下,此实例在名为EBS的磁盘驱动器上运行.基本上EBS驱动器是一个普通的硬盘驱动器,除了你可以做很多其他很酷的东西,比如把它从一台服务器上取下并移动到另一台服务器上.S3实际上更像是一个文件存储系统,如果你有一堆图像,或者你想存储大量的数据库备份等,它更有用,但它不是一个简单的网络服务器的要求.只需运行EC2实例就可以了,其他一切都将在幕后进行.
如果你的应用程序达到了很多流量,你有两个选择.您可以通过关闭它并使用更大的实例启动它来扩展您的计算机.一般来说这是最容易做到的事情,但是你要达到这样的程度,即使在较大的尺寸下,你要么无法处理1个实例的所有流量而且你决定需要两个OR,你会想要更多的错误容忍的应用程序,如果发生故障或更新,仍将在线.
如果您创建第二个实例,则需要执行某种形式的负载平衡.我建议使用amazons Elastic Load Balancer,因为它易于配置,并且它与云的集成比使用Round Robin DNS或像haproxy这样的应用程序更好.弹性负载均衡器并不昂贵,我相信它们的成本约为每月18美元+在负载均衡器之间传递的数据.
但不,你不需要做任何其他事情来扩大你的网站.2个EC2实例和一个ELB将完成这个任务.
您没有提出但可能应该提出的其他问题.
EC2实例经常出现硬件故障并使我的服务器崩溃的频率.如果发生这种情况我该怎么办?
它经常发生,通常是批量生产.有时候我会花几个月没有任何问题然后我会让一些服务器一次崩溃.但是你应该为我准备好的东西,我一开始并没有为此付出代价.确保您创建脚本并准备好备份和备份计划,以免服务器出现故障.从第1天起,它可以正常运行或具有负载均衡的解决方案.
关于scalabilty最困难的部分是什么?
测试测试测试测试...不要假设任何东西.还要为您的交通突然出现高峰做好准备.如果你的页面从1到1000人过夜你准备好处理它,你必须做好准备吗?你测试过你"想"会发生什么吗?
祝你好运,玩得开心......我知道我有:)
| 归档时间: |
|
| 查看次数: |
1423 次 |
| 最近记录: |