Dan*_*iel 6 messaging xmpp server-push publish-subscribe websocket
我正在构建一个分布式系统,该系统可能包含数百万个客户端,这些客户端都需要保持开放(优选HTTP)连接以等待来自服务器的命令(在其他地方运行).消息/命令的负载不会很高,可能是一个消息/秒/ 1000个客户端,这意味着它将是1000个消息/秒@ 100万个客户端.=>它基本上是关于并发连接.
要求也很简单.单向消息传递(服务器 - >客户端),每个"通道"只有一个客户端.
我在技术方面非常开放(xmpp/websockets/comet/...).我使用Google App Engine作为服务器,但不幸的是它们的"渠道"对我不起作用(配额太低,没有Java客户端).XMPP是一种选择,但相当昂贵.到目前为止,我使用的是URL Fetch和pubnub,但他们刚刚开始为连接收费(很长时间).
所以:
有没有人知道那里能以实惠的方式为我做的服务?大多数我发现限制或大量充电连接.
有自己实施这样一个服务器的经验吗?我实际上已经完成了它并且它运行得很好(基于Tomcat和NIO)但我还没有时间实际设置一个大的负载测试环境(部分因为这仍然是一个后备解决方案,我更喜欢战斗硬化的msg服务器).您对每GB有多少用户的体验?任何硬限制?
我的架构也允许对msg服务器进行分段,但我想最大化并发连接,因为msg处理CPU开销很小.
我同时使用netty.io实现了自己的消息服务器.Netty使用Java NIO并且扩展性非常好.对于空闲连接,每个连接的内存占用量为500字节.我只做非常简单的消息转发(没有缓存,存储或其他花哨的东西),但在小亚马逊实例(1ECU/1.6GB)上很容易获得1000 - 1500 msg/sec(每半个KB).
否则,如果您正在寻找(付费)服务,那么我可以推荐spire.io(他们不收取连接费用,但每封邮件的价格更高)或pubnub(他们确实为连接收费但每封邮件更便宜).
| 归档时间: |
|
| 查看次数: |
6312 次 |
| 最近记录: |