AWS上的聊天应用程序:EC2(eJabberd XMPP)与RDS(关系数据库)对比其他选项?

时间:2016-02-05 14:39:14

标签: amazon-web-services amazon-ec2 xmpp ejabberd amazon-rds

我想创建一个1:1的iOS应用和群聊。自DynamoDB is not the ideal solution for this以来,我正在寻找更好的方法。

可能的解决方案:

  1. 在AWS EC2上安装XMPP服务器(eJabbered)
  2. 将AWS RDS(关系数据库)与一个聊天表一起使用,其中每条记录等于从一个客户端发送到另一个客户端或组的消息。
  3. 使用Amazon S3为每个聊天存储文件?
  4. 其他选择?
  5. 以上哪一个最优雅/最简单的解决方案? some.不推荐选项1选项2似乎更容易(自动)缩放。

    哪一个更具成本效益? 关于RDS亚马逊写道:

    “AWS免费套餐每月包含750小时的微型数据库实例,为期一年”

    关于EC2亚马逊写道:

    “AWS免费套餐包括每月750小时的Linux和Windows t2.micro实例,为期一年。要保留在免费套餐中,请仅使用EC2 Micro实例。”

    我对服务器后端架构很陌生,但基于时间的会计似乎不是聊天应用程序的最佳解决方案?

1 个答案:

答案 0 :(得分:1)

S3 解决方案不是一个可供选择的解决方案,因为在Amazon S3上授权的PUT限制太小(2000),因此如果您要进行数百万次聊天会话,您的成本将会降低太棒了。

目前我正在使用 AWS RDS 在我的android / ios应用程序上使用聊天功能。
此解决方案工作正常,因为我的数据库和服务器应用程序是可扩展的,但我不确定它是否是更好的解决方案。

结论
如果我今天必须开始新的聊天应用程序,我会选择XMPP服务器以获得低成本和更好的性能。