一个Heroku Web Dyno到底是什么?

一个Heroku Web Dyno到底是什么?,heroku,amazon-web-services,Heroku,Amazon Web Services,据介绍,似乎几个Heroku Web Dyno在单个Amazon EC2 CPU上运行 一个CPU上运行多少个Dyno?规格是什么 在一个CPU上运行的大量Dynos是否会影响其他Dynos?部署Heroku应用程序时,使用一个或多个构建包构建名为slug的虚拟机映像。当从这个slug启动虚拟机实例时,它被称为dyno 每个dyno在应用程序虚拟机中运行一个进程。Heroku没有正式描述dynos是如何配置的,但轶事分析显示,许多dynos在单个AmazonXLEC2实例上运行,在所有dynos

据介绍,似乎几个Heroku Web Dyno在单个Amazon EC2 CPU上运行

一个CPU上运行多少个Dyno?规格是什么


在一个CPU上运行的大量Dynos是否会影响其他Dynos?

部署Heroku应用程序时,使用一个或多个
构建包构建名为
slug
的虚拟机映像。当从这个
slug
启动虚拟机实例时,它被称为
dyno

每个
dyno
在应用程序虚拟机中运行一个进程。Heroku没有正式描述dynos是如何配置的,但轶事分析显示,许多dynos在单个Amazon
XL
EC2实例上运行,在所有dynos上共享磁盘、CPU和内存。共享资源时肯定会有“嘈杂的邻居”,但不提供直接数据或统计数据。我只能分享我的轶事经验,这确实发生了

每个dyno在EC2主机内是隔离的,但共享底层资源。这类似于
docker
和其他应用程序容器的工作方式

dyno在Heroku Routing Mesh中注册,Heroku Routing Mesh是一种智能负载平衡器,用于将传入的web流量映射到应用程序dyno。每个dyno都分配了一个TCP端口,该端口在路由网格中注册

Heroku是AmazonEC2之上的更高级别服务。它们实现了部署、资源调配、监控、可用性和自动扩展,但成本比原始EC2主机高。您可以运行自己的EC2实例,但需要自己实现这些服务

免责声明:我不是Heroku的员工,除了作为大型高流量Rails应用程序的用户之外,我对Heroku没有任何特殊知识


更新:Heroku今天早上发布了
PX
size dynos,它托管在一个专用的EC2
c1.xlarge
实例上,解决了我上面提到的所有噪音邻居和资源争用问题。价格昂贵。这里的详细信息:

它们有点模糊……值得一提的是,Heroku routing mesh并不是那么智能,它会在您的动态节点上随机分配请求。如果有大量的dynos,算法可能会选择性地将其选择偏向与进行选择的路由器位于同一AWS可用区的dynos。这是一个“专用”ec2实例,它本身是共享的,因此仍然存在噪声邻居的问题。在它更像是一个吵闹的室友和吵闹的邻居之前:)一些Dyno在共享的底层EC2实例上,一些(PX类)Dyno在专用EC2实例上。同意,但我的意思是“专用”EC2实例在共享服务器上,它不是一个只有一个实例的专用服务器,所以“嘈杂的邻居”的概念仍然存在。是的,一直以来都是虚拟机。你说的虚拟机映像是什么意思?什么是构建包?