Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.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 web services 在amazon web services上设置全球可用的web应用程序_Amazon Web Services_Amazon Ec2_Amazon S3_Replication - Fatal编程技术网

Amazon web services 在amazon web services上设置全球可用的web应用程序

Amazon web services 在amazon web services上设置全球可用的web应用程序,amazon-web-services,amazon-ec2,amazon-s3,replication,Amazon Web Services,Amazon Ec2,Amazon S3,Replication,首先,我是AWS的新手,所以我的问题可能看起来很业余 我正在开发一个需要在全球范围内可用的web应用程序,目前正在amazon上托管它。由于该应用程序仍在开发中,我已在新加坡地区建立了它。然而,当我测试应用程序时,我从地球东侧的位置(大约50毫秒)获得了良好的响应时间。然而,当我测试来自美国的响应时间时,它大约为550ms。因此,我们决定在新加坡和美国各有两个实例。但我无法找到处理跨地区数据复制和负载平衡的方法。Elastic Beanstalk仅允许我在特定区域执行此操作。有人能解释一下我如何

首先,我是AWS的新手,所以我的问题可能看起来很业余

我正在开发一个需要在全球范围内可用的web应用程序,目前正在amazon上托管它。由于该应用程序仍在开发中,我已在新加坡地区建立了它。然而,当我测试应用程序时,我从地球东侧的位置(大约50毫秒)获得了良好的响应时间。然而,当我测试来自美国的响应时间时,它大约为550ms。因此,我们决定在新加坡和美国各有两个实例。但我无法找到处理跨地区数据复制和负载平衡的方法。Elastic Beanstalk仅允许我在特定区域执行此操作。有人能解释一下我如何实现我的web应用程序的全球可用性吗。以下是我目前使用的服务。 1.亚马逊EC2 2.亚马逊S3


我需要数据库复制和S3文件复制。另外,如果有一种方法,我只需要在一个地方部署我的应用程序,并且这些更改将反映在我们在全球的所有实例中,那就太好了。

在您花费大量时间和金钱在不同地区设置冗余服务器之前,您可能希望确保,仅通过实施AWS Cloudfront无法获得所需的性能改进:

Amazon CloudFront采用了一个边缘位置网络来缓存 靠近查看者的流行文件副本。亚马逊云峰 确保最终用户请求由最近的边缘提供服务 地点。因此,请求到请求的距离更短 对象,提高性能。对于未缓存在边缘的文件 位置,Amazon CloudFront与您的 源服务器,以便可以从源服务器获取这些文件 尽可能快地安装服务器。最后,Amazon CloudFront使用 其他优化—例如,更宽的TCP初始拥塞窗口– 在向客户交付内容的同时提供更高的性能 观众


很好的一点是,你可以在很短的时间内用很少的钱来设置和测试它。显然,这并不能解决所有的性能问题,特别是当你的应用程序在数据库中受到性能限制时,但这是一个很好的方法,可以在世界各地加速你的网站时解决这个“低挂果实”。

你在使用哪个数据库?您是如何测试响应时间的?嗨,Martin,我正在使用mysql,我正在通过访问的不同VPN进行ping测试。这是可以理解的,它需要更多的时间,因为越来越多的啤酒花。谢谢你的答复。我会试试看,然后告诉你结果。我无法对答案进行投票,因为我没有所需的声誉点数。您写道CloudFront不会解决db瓶颈问题,我理解正确吗?那么您有什么建议,我如何在AWS中解决这个问题(使用EC2/RDS)?我需要复制我想要提供的区域上的EC2+RDS实例吗?你可以考虑设置跨区域读副本:这正是我所要寻找的。因此,基本上我为我想要的任何区域创建RDS实例的读取副本,在同一区域中创建一个(或多个)EC2实例,并将它们连接到副本。对我来说,剩下的问题是我们的应用程序如何知道使用哪个区域/实例-一个类似于orchestrator的组件来相应地重定向用户?到目前为止已经谢谢你了,你的评论对我帮助很大。