windows - 您如何使用 EC2 在多个服务器上分发您的应用程序?

标签 windows amazon-ec2 load-balancing scaling autoscaling

我第一次开发需要大量扩展的应用程序,之前我从未遇到过需要在多个实例上运行的应用程序。

这通常是如何实现的?我是否将 SQL 服务器集群化,然后跨所有服务器镜像编程并使用负载平衡?

或者我是否将功能分离出来,在一台服务器上运行一些,在另一台服务器上运行一些?

另外,如何将代码推送到我的所有 EC2 窗口实例?

最佳答案

这取决于您的要求。但作为一般准则(我假设是一个网站),我会将数据库、网络服务器、缓存服务器等分离到不同的实例并使用 s3 (+ cloudfont ) 用于静态 Assets 。我还将确保适当的速率限制到位,以便基础设施上只有合法的负载。

对于 RDBMS 服务器,我可能会设置一个主从数据库设置(RDS 使这更容易),使用数据库分片等。数据库集群解决方案也存在,这将更复杂地设置但简化了应用程序程序员的数据库访问。我还将检查所有数据库查询并相应地调整 db/sql 查询。在某些情况下,纯 NoSQL 类型的数据库可能比 RDBMS 或两者的混合更好,应用程序根据所需的数据在它们之间切换。

对于网络服务器,我将设置一个负载均衡器,然后在负载均衡器后面的网络服务器实例上使用自动缩放。如果有的话,类似的东西将适用于应用程序服务器。我还将调整网络服务器设置。

缓存服务器也将被分离到它的实例集群中。 ElastiCache似乎是一项不错的服务。 Redis 具有与内存缓存相当的性能,但具有更多功能(如列表、集合等),在扩展时可能会派上用场。

关于windows - 您如何使用 EC2 在多个服务器上分发您的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13441123/

相关文章:

apache - 负载平衡 Web 服务器 + 保持内容同步

java - 从 linux 传输到 windows 时换行符丢失

networking - GKE 负载均衡器连接被拒绝

c++ - LNK1168 : cannot open debug\file. exe 写入

node.js - 在亚马逊 EC2 上托管 nodeJS/mongoose Web 应用程序

linux - 停止和启动 aws ec2 导致我的网站停止工作

java - 在不重启服务器的情况下部署到 tomcat7

ssl - Nginx中的负载平衡-TCP,SSL,HTTPS

python-3.x - 无法 pip 安装 egenix-mx-base

windows - exe数据段中的数据