Android Amazon EC2 RabbitMQ群集成本

Android Amazon EC2 RabbitMQ群集成本,android,ios,amazon-ec2,rabbitmq,amqp,Android,Ios,Amazon Ec2,Rabbitmq,Amqp,对不起,伙计们,我试图找出这个问题,但我没有得到我需要的 我正在开发一个Android/iPhone应用程序,它将连接到亚马逊Ubuntu EC2上的RabbitMQ集群 我需要计算一下要多少钱。我相信它将拥有约10万用户。 我正在将代理配置为每个移动端点都有一个用户和一个队列,这些终端将一直连接(使用basicConsume和manual ack-我相信我不需要事务)。 这些用户和队列将由使用REST RabbitMQ端口的唯一PHP服务器创建。 移动终端将打开另一个与basicPublish

对不起,伙计们,我试图找出这个问题,但我没有得到我需要的

我正在开发一个Android/iPhone应用程序,它将连接到亚马逊Ubuntu EC2上的RabbitMQ集群

我需要计算一下要多少钱。我相信它将拥有约10万用户。 我正在将代理配置为每个移动端点都有一个用户和一个队列,这些终端将一直连接(使用basicConsume和manual ack-我相信我不需要事务)。 这些用户和队列将由使用REST RabbitMQ端口的唯一PHP服务器创建。 移动终端将打开另一个与basicPublish消息的连接,并将其发送到我仅有的5个主题交换之一。此交换将需要将消息传递到多达2千个队列。 每个移动终端每天将消耗大约20条消息(由另一个终端生成,所以我不知道每天是20条、2条还是2k条消息)。 每个消息体将仅为用户通常键入的内容。我正在对所有元数据使用AMQP头和参数

我在一篇旧的Nabble文章中读到了关于资源使用的信息,我试图计算: 为了保持一个空闲连接,服务器需要约66kb和8个进程(顺便说一句,我已将心跳降低到60秒),因此:

100k连接*66kb=6.29Gb 100k连接*8个进程=800k个进程(是否可能是唯一的机器?)

我还不知道是否需要保留所有消息。在这个时候,我在想,不要坚持

在这里,我疯狂地猜测集群中的两个“Linux on m3.xlarge EBS优化”(每个4个vCPU和15Gb内存,高I/O)可能适合这个项目

我错了吗

在这个场景中,您将使用什么以及如何计算?对于我来说,在亚马逊的计算器上找到适合这个项目或项目的最佳架构的任何技巧都是非常有用的


提前谢谢。

不,你没有错多少

我有几个问题,但基本上可以归结为:

  • 你对你的申请了解多少
  • 个人用户需要什么
  • 理解您的场景的唯一方法是正确理解最苛刻的用户并了解他们的资源需求

    在那之后。。。倍增

    您知道所有这些队列和消息的CPU需求是什么吗?您是否尝试在几个不同的实例上执行24小时的负载测试?然后,您所要做的就是计算实例的成本/小时

    当我们(我们的公司)想要衡量一个项目所需的资源时,我们基本上会编写一个系统来模拟服务器实例上的负载并将其推到最大值,然后它会给出所需实例大小的图片,使用AWS工具,您可以轻松获得I/O、带宽等的清晰图像


    希望这有帮助。我所知道的远不止我之前描述的那一点。这对我来说是全新的。我可能会假定连接、队列、交换的数量,消息和队列之间的关系(我的绑定有多宽),但我真的必须加载这些实例并执行压力测试吗?我处于初始可行性分析阶段。遗憾的是,你无法估计你不知道的东西。。。必须有一些基本的数学来测量估计的流量,但随着时间的推移,您必须在开发系统时建立这些数学-我建议您创建一个日志系统,显示每个功能需要多少资源,以便您可以将某些任务的结果转化为简单的用户乘数总数。