Deployment Rackspace云中的排队

Deployment Rackspace云中的排队,deployment,cloud,rabbitmq,rackspace-cloud,rackspace,Deployment,Cloud,Rabbitmq,Rackspace Cloud,Rackspace,我一直在使用EC2进行部署,现在我想尝试一下Rackspace,我的应用程序必须是可伸缩的,所以我使用RabbitMQ作为主队列系统。前端的操作可能会导致大量需要执行的作业,我想在某个地方排队 由于应用程序的预期负载配置文件,使用可扩展的基础架构(如rackspace云)是有意义的。现在我想知道在哪里排队工作是最好的。在前端服务器上对它们进行排队意味着,只有在处理队列后才能缩减前端服务器的数量,这是一种资源浪费,如果前端上的峰值负载已过,我们希望在处理队列项目的机器上缩减并扩大 如果我们在数据库

我一直在使用EC2进行部署,现在我想尝试一下Rackspace,我的应用程序必须是可伸缩的,所以我使用RabbitMQ作为主队列系统。前端的操作可能会导致大量需要执行的作业,我想在某个地方排队

由于应用程序的预期负载配置文件,使用可扩展的基础架构(如rackspace云)是有意义的。现在我想知道在哪里排队工作是最好的。在前端服务器上对它们进行排队意味着,只有在处理队列后才能缩减前端服务器的数量,这是一种资源浪费,如果前端上的峰值负载已过,我们希望在处理队列项目的机器上缩减并扩大

如果我们在数据库服务器上对它们进行排队,那么我们正在将负载添加到一台机器上,而在当前设置中,这台机器已经是最有可能的botleneck。你会如何设计这个


是否有类似amazon SQS之类的机架空间内置队列

他们没有类似SQS的服务,但有一些好的服务您可以利用:

云文件 使用CDN-将您所有的静态内容直接发送给您的客户(我在澳大利亚黄金海岸,云文件公共内容来自布里斯班的某个服务器(美国服务器的ping时间为13毫秒vs 250毫秒)而且,由于-更快的下载时间为您的用户,再加上绝对没有堵塞管道的网络服务器在圣诞节高峰期

我使用它的方式是:

  • 我创建了一个云文件容器;它获得一个唯一的主机名
  • 我创建了一个CNAME DNS记录(例如:cdn.supa.ws),指向该唯一主机名
  • 我使用挂载目录在我的云服务器和我的家庭linux机器上
  • 然后直接将文件复制或上传到该目录,然后从
  • 作为服务的负载平衡器 -基本上,你可以使用这些工具将请求推送到后端服务器。很酷,因为它们是API可编程的,所以你可以动态扩展,并根据需要添加更多后端服务器。它们还有很好的加权算法,因此你可以在需要时向某些服务器发送更多流量

    内部VLAN 我建议在云服务器之间使用“内部IP”(10.x.y.z)(eth1接口)进行消息队列和DB数据,因为它们可以为您提供更高的传出带宽上限

    输出带宽(速度)上限:

    • 256 MB Ram-10 MB/s以太网0-20 MB/s以太网1
    • 512 MB Ram-20 MB/s以太网0-40 MB/s以太网1
    • 1 GB Ram-30以太网0-60 Mb/s以太网1
    • 2 GB Ram-40以太网0-80 Mb/s以太网1
    • 4 GB Ram-50 eth0-100 Mb/s eth1
    • 8 GB Ram-60 eth0-120 Mb/s eth1
    • 15.5 GB Ram-70以太网0-140 Mb/s以太网1
    eth1被称为内部VLAN,但它是与其他客户共享的,因此最好对eth1和eth0进行防火墙隔离,例如,只允许从云服务器进行mysql连接;如果您真的有感兴趣,可以使用myqsl和ssl,以防万一:)

    MySQL即服务
    还有一个MySQL即服务测试版。我还没有尝试过,但看起来它有很多潜在的酷性:

    机架空间不提供托管排队系统

    我在他们的云服务器上运行RabbitMQ已经两年多了,一切都很好


    我还没有试过,所以我不知道在那里安装有多容易,也不知道它在他们的环境中会有多稳定。

    Beanstalkd just rocks-Tube就像酒吧酒吧酒吧,可以在任何云供应商身上发挥魅力。3-7分钟完成设置。非常快,因为它使用了类似memcache的队列

    您可以使用您选择的任何语言编写workers。这个你不能出差错

    链接:

    这是一个非常详细的答案,看起来更像是Rackspace的广告,而不是对原始问题的回答……Rackspace现在有了一个,构建在它之上。