Amazon ec2 在Amazon EC2上扩展Tigase XMPP服务器
有没有人有在Amazon上运行集群XMPP服务器的经验,主要是我想知道一些不明显的可能会绊倒我的事情。(例如,在EC2上运行Ejabberd可能会由于记忆障碍而导致问题。) 或者如果你对在Ubuntu上安装和运行Tigase有什么一般性的建议Amazon ec2 在Amazon EC2上扩展Tigase XMPP服务器,amazon-ec2,xmpp,tigase,Amazon Ec2,Xmpp,Tigase,有没有人有在Amazon上运行集群XMPP服务器的经验,主要是我想知道一些不明显的可能会绊倒我的事情。(例如,在EC2上运行Ejabberd可能会由于记忆障碍而导致问题。) 或者如果你对在Ubuntu上安装和运行Tigase有什么一般性的建议 额外信息: 我正在开发的系统使用XMPP只是在移动应用程序和服务器之间进行通信(近乎实时) 用户数量最初将很小,但有望增长。这就是为什么系统需要具有可伸缩性。大概对于几千个用户来说,您不需要一个cc1.4x1大型EC2实例?(否则这将是非常昂贵的运行!)
额外信息: 我正在开发的系统使用XMPP只是在移动应用程序和服务器之间进行通信(近乎实时) 用户数量最初将很小,但有望增长。这就是为什么系统需要具有可伸缩性。大概对于几千个用户来说,您不需要一个cc1.4x1大型EC2实例?(否则这将是非常昂贵的运行!) 我计划在XMPP服务器数据库中使用托管在中的MySQL数据库 我还计划使用创建一个用Python编写的外部XMPP组件。正是这个外部组件完成了服务器的所有“工作”,因为我正在开发的应用程序与即时消息非常不同。对于这一部分,我还没有解决如何将用Python编写的外部XMPP组件连接到Tigase服务器的问题。这似乎表明,组件是专门为Tigase编写的,而不是像我预期的那样,为通用XMPP服务器编写的 有了这些额外的信息,如果你能想到其他我应该知道的事情,我很乐意知道
谢谢:)我有很多经验。我认为有很多不明显的问题。像Tigase这样运行应用程序的唯一可靠实例是cc1.4XL。其他的会导致CPU可用性问题,这只是一个抽签,看你是否幸运地在一个不忙于其他人工作的服务器上运行你的服务 您还需要一个具有最高可能I/O的实例,以确保它能够处理网络流量。高I/O特别适用于数据库实例 不确定这是否明显,但EC2上的主机名存在此问题,每次启动实例时,主机名和IP地址都会发生变化。Tigase集群对主机名非常敏感。有一种方法可以强制/更改实例的主机名,因此这可能是解决问题的一种方法 当然,我说的是一个面向数百万在线用户的集群,以及每秒100k或更多的高流量XMPP数据包。一般来说,对于大型安装,使用专用服务器更便宜、更高效 一般来说,Tigase在AmazonEC2上运行得很好,但您确实需要最新的SVN代码,因为它添加了很多优化,特别是在云测试之后。如果你能提供更多关于你的服务的细节,我可能会有更多的建议 更多评论: 若说到成本,一个专用服务器对于持续运行服务来说总是比较便宜的选择。除非您计划每小时打开/关闭服务器,否则我建议您使用一些专用服务。成本更低,性能更可预测 但是,如果您真的想/需要坚持使用Amazon EC2,让我给您一些具体的数字,下面是一个实例列表,以及集群能够可靠地处理多少在线用户:
- 5*cc1.4XL-1mln 700k在线用户
- 1*c1.xlarge-118k在线用户
- 2*c1.xlarge-127k在线用户
- 2*m2.4xlarge(配有5GB RAM供Tigase使用)-236k在线用户
- 2*m2.4XL(Tigase配备20GB内存)-315k在线用户
- 5*m2.4x1大容量(Tigase使用60GB内存)-400k在线用户
- 5*m2.4x100大容量(Tigase使用60GB内存)-312k在线用户
- 5*m2.4x1大容量(Tigase使用60GB内存)-327k在线用户
- 5*m2.4x1大容量(Tigase使用60GB内存)-280k在线用户