如何知道我是不是需要使用 AWS Elasticache 和 AWS Elastic Load Balancing?
Posted
技术标签:
【中文标题】如何知道我是不是需要使用 AWS Elasticache 和 AWS Elastic Load Balancing?【英文标题】:How to know if i need to use AWS Elasticache and AWS Elastic Load Balancing?如何知道我是否需要使用 AWS Elasticache 和 AWS Elastic Load Balancing? 【发布时间】:2016-12-12 12:47:51 【问题描述】:我对缓存有点困惑。
假设我想建立一个简单的聊天网站,用户可以登录/注册和上传照片。
我打算将上传的文件保存在 amazon s3 中。 dynamodb 中的用户数据。
那么我应该将哪种类型的数据放入 elasticache 以提高我的网站性能?
另一个问题,如果我使用弹性beantalk,我是否需要同时使用弹性负载平衡?
我读到 Elastic beanstalk 是 EC2 的自动化版本,因此无需关心手动流程,这是否涉及 ELB?
感谢您的帮助
【问题讨论】:
【参考方案1】:我认为您对术语感到困惑。你所说的技术是完全不同的东西。
Elasticache 是一种托管的 Memcached/Redis 解决方案。您将其用于缓存目的,而不是用于持久数据
Elastic Load Balancing 是一种托管负载平衡解决方案。就像 Haproxy。如果您想利用 AWS 的高可用性和可扩展性功能,您需要它。您创建一个自动扩展组,它在需要时生成或终止 EC2 实例(根据您将设置的规则),并且自动扩展组从 ELB 附加或分离 EC2 实例。如果您只将应用程序安装到一个实例上,您不必担心,但如果您这样做,您就是在做错误,这不是 AWS 的工作方式。去使用更便宜、更方便的 VPS 公司吧。
Elastic Beanstalk 是一种包装服务。它旨在抽象所有这些 EC2 东西的复杂性。它就像 Heroku 或 Google App Engine,您将应用程序文件(或 docker 映像)提供给它,它会为您安装所有内容。
如果您是 AWS 的新手,我建议您从 Elastic Beanstalk 开始,了解它在后台的工作原理以及将为您创建的资源类型。学习基础知识后,您可以创建自己的堆栈并对其进行更多自定义。但 Elasticbeanstalk 也是可生产的产品。你可以相信它。
【讨论】:
感谢您的回复。所以如果我理解得很好,如果我使用 Elastic Beanstalk,那么我不需要使用负载均衡器?如果是聊天应用程序,应该缓存什么样的数据以增加应用程序响应时间?媒体(照片、视频) ?用户数据 ?还有什么?以上是关于如何知道我是不是需要使用 AWS Elasticache 和 AWS Elastic Load Balancing?的主要内容,如果未能解决你的问题,请参考以下文章
我是不是需要 .ebextensions 才能使用 DynamoDB 或 SNS 等 AWS 资源?