Amazon web services AWS上的聊天应用程序:EC2(eJabberd XMPP)vs RDS(关系数据库)vs其他选项?

Amazon web services AWS上的聊天应用程序:EC2(eJabberd XMPP)vs RDS(关系数据库)vs其他选项?,amazon-web-services,amazon-ec2,xmpp,ejabberd,amazon-rds,Amazon Web Services,Amazon Ec2,Xmpp,Ejabberd,Amazon Rds,我想为1:1和群聊创建一个iOS应用程序。因为,我目前正在寻找更好的方法 可能的解决办法: 在AWS EC2上安装XMPP服务器(eJabbered) 将AWS RDS(关系数据库)与一个聊天表一起使用,其中每个记录相当于从一个客户端发送到另一个客户端或组的消息 使用AmazonS3存储每次聊天的文件 其他选择 以上哪一项是最优雅/最简单的解决方案? 选项1不被选项2推荐,因为选项2似乎更容易(自动)缩放 哪一个更具成本效益? 关于RDS,亚马逊写道: “AWS免费层包括一年内每月750小时的M

我想为1:1和群聊创建一个iOS应用程序。因为,我目前正在寻找更好的方法

可能的解决办法:

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

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

    “AWS免费层包括一年内每月750小时的Micro DB实例”

    关于EC2,亚马逊写道:

    “AWS免费层包括一年内每月750小时的Linux和Windows t2.micro实例。要保持免费层,请仅使用EC2微实例。”


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

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

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

    结论

    如果我今天必须启动一个新的聊天应用程序,我会选择成本低、性能更好的XMPP服务器。

    感谢分享您的经验。请参阅我编辑的答案。在AWS EC2上(自动)缩放eJabberd/XMPP似乎不是一件容易处理的工作。自动缩放任何连接的协议都不是一个好主意,因为如果您想要缩小,需要将It用户踢出,与HTTP相反,HTTP是请求和响应,并且易于自动缩放。您认为扩展eJabberd服务器的最佳方式是什么?嗨,我也想使用RDS,但不知道如何在RDS中使用实时聊天功能。你能在这方面指导我吗?这个问题没有正确的答案;只是意见(和工具建议)。StackOverflow的主题不在这里。我希望得到一个像“选项X真的很糟糕,因为……”这样的答案。现在我倾向于使用AWS RDS和SQL来存储聊天。您好,您能帮我了解一下如何使用RDS实现实时聊天信息吗?