Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon ec2 启用负载平衡的EC2实例之间的Amazon RDS主从关系_Amazon Ec2_Load Balancing_Amazon Elastic Beanstalk_Rds - Fatal编程技术网

Amazon ec2 启用负载平衡的EC2实例之间的Amazon RDS主从关系

Amazon ec2 启用负载平衡的EC2实例之间的Amazon RDS主从关系,amazon-ec2,load-balancing,amazon-elastic-beanstalk,rds,Amazon Ec2,Load Balancing,Amazon Elastic Beanstalk,Rds,我们计划将我们的Tomcat/MySQL应用程序移动到Amazon云上,使用2个运行在不同可用性区域的EC2实例(inst_1和inst_2),inst_1将包含主RDS db,inst_2包含从RDS db 如果我们采用弹性负载平衡来平衡这两个实例之间的流量,那么定向到inst_2的流量(包括insert/update/deletedb事务)是否会首先更新inst_1中的主RDS db,然后同步更新inst_2中的从机;从而确保两个RDS实例始终同步 亚马逊发布的信息(白皮书)表明了这一点,但

我们计划将我们的
Tomcat/MySQL
应用程序移动到Amazon云上,使用2个运行在不同可用性区域的EC2实例(inst_1和inst_2),inst_1将包含主RDS db,inst_2包含从RDS db

如果我们采用弹性负载平衡来平衡这两个实例之间的流量,那么定向到inst_2的流量(包括
insert/update/delete
db事务)是否会首先更新inst_1中的主RDS db,然后同步更新inst_2中的从机;从而确保两个RDS实例始终同步

亚马逊发布的信息(白皮书)表明了这一点,但没有明确说明。如果没有,如何确保两个RDS实例保持同步


附加说明:我们计划使用亚马逊的弹性豆茎。谢谢

你必须考虑几件事

  • AWS RDS实例是运行MySQL服务器的简单托管EC2实例
  • 如果您添加一个从机(我想Amazon称之为read replica),这是一个只读的从机
  • Amazon不会自动管理将查询写入主服务器的分发
  • 复制将确保您的读从设备始终自动处于最新状态(最小延迟随主机上的写负载而增加)
  • 这种行为是MySQL特有的
这意味着您必须以独占方式将操作查询委托给主控

这可以由您的应用程序或在额外机器上运行的MySQL代理来完成


然后,代理是应用程序服务器将与之对话的唯一接口。它能够管理RDS实例之间的平衡以及对主实例的任何操作查询的方向。

当RDS在多az模式下使用时,您无法访问辅助实例。只有一个实例对您可见,所以如果您的问题不适用,大多数实例都是可见的。在故障转移的情况下,您获得的DNS地址将开始解析到不同的ip。亚马逊没有透露这两个实例是如何保持同步的


如果不使用多个az实例,而是使用单个az实例+副本,则由您适当地指导查询-任何更改副本上数据的尝试都将失败。由于这只是标准的MySQL复制,复制副本可能会落后于主机(特别是当前版本的MySQL,复制副本只运行一个线程)

这只是两个随机实例,一个多AZ设置还是一个普通实例&一个复制副本?Frederick-很好。似乎我们还没有完全理解多AZ和“普通实例&副本”之间的区别。我们打算在multi-AZ模式下运行RDS,并期望inst_2中会出现结果“从属”,但显然您的问题表明这些是不同的配置。谢谢你,米歇尔。Amazon的“N+1”自动负载平衡策略(即资源粒度存在于“实例”级别)似乎只适用于管理静态内容或所有动态内容存储在S3中的应用程序?否则,如果没有您描述的其他步骤,我认为典型的电子通信站点没有什么好处——或者我们错了吗?看看scalr。只需点击几下,它就能帮助您完成所有需要的操作