赞
踩
多AZ可以提高系统的可用性,因为当一个AZ发生故障时,其他AZ可以继续提供服务,避免了单点故障的风险。
多AZ可以保证数据的冗余存储,即使一个AZ的数据发生丢失,也可以从其他AZ的数据副本中恢复。
多AZ可以提供更好的容灾能力,当一个AZ受到自然灾害、电力故障等影响时,其他AZ可以保证服务的连续性。
数据库是使用多AZ最多的应用之一,通过在多个AZ中存储数据副本,可以保证在任何一个AZ发生故障时,数据库仍然能够正常运行。
文件存储也可以使用多AZ,将文件存储在多个AZ中,可以避免文件丢失或损坏的风险。
缓存也可以使用多AZ,将缓存数据存储在多个AZ中,可以提高缓存的可用性和可靠性。
视频直播需要大量的存储和传输能力,使用多AZ可以保证视频直播的稳定性和可靠性。
总之,多AZ是云计算中重要的容灾和冗余策略,可以提供更好的系统可用性和容错性。
可以将ELB设置成跨多个AZ,即将需要的子网(Available Subnet)添加进ELB就行,(点击Available Subnet前面的绿色加号按钮),这个时候,每个AZ至少选择一个Subnet,ELB就可以将流量分发到不同AZ上的实例。有一点需要注意的是,ELB是将流量均分到不同AZ中的,而不会考虑哪个AZ中实例多哪个少,因此部署的时候尽量在不同AZ均匀分布计算资源。实质上,ELB服务包含多AZ后,会在不同AZ创建不同LB实例,其私网IP是不同的,access日志中能看到,只不过这些LB会使用一个统一的url(endpoint)。因此可以在Route53中将域名CNAME或者Alias到ELB的endpoint上。
添加到ELB中的实例,也可以均分到不同的AZ,这是一个高可用方案的基本措施。如果实例已经运行在同一个AZ中了,可以通过将线上服做成AMI(注意勾选No reboot),然后基于此AMI再在别的AZ中创建同样的实例,并加入到ELB实例组中。你可以随时将实例退出或加入ELB实例组。
ElasticCache服务不管是Memcached还是Redis,目前都不支持Node节点跨AZ,因此需要在不同AZ中创建单独的ElasticCache实例和节点,同事需要程序代码上做点改动。允许配置多个缓存实例,例如redis-master,redis-slave。相信不久AWS就会推出自动跨AZ的ElasticCache(即统一的endpoint,可以在不同AZ创建node)。
读写分离是一个比较好的方案,一写多读,多个读实例用内网ELB做负载均衡。但是写还是单点的,建议在不同AZ创建一个热备,作为DB slave(EC2做DB的方案);如果使用RDS服务的话,就更方便一些,你可以使用跨AZ的replica(创建RDS实例的时候可以选择Multi-AZ),好像最近有添加了跨Region的“Multi-AZ”,还可以使用RDS的读写分离功能,创建多个读实例,然后这些读实例可以加入到一个内网的ELB中实现负载均衡。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。