代码之家  ›  专栏  ›  技术社区  ›  BarsMonster

建议Comet服务器[关闭]

  •  1
  • BarsMonster  · 技术社区  · 14 年前

    我正在寻找开源的基于linux的Comet服务器。 Python而不是C++对这里的性能有很大的影响吗?

    您能推荐最受支持/使用的comet服务器吗?它是二进制的(=更快),易于集成并且(有点)轻量级的?另外,Java/.NET在这里也不适用。

    我们的目标是每台服务器有10k以上的连接,每秒大约有2000-5000条消息,跨越10-20k个通道。

    5 回复  |  直到 14 年前
        1
  •  11
  •   haylem    14 年前

    围棋怎么样?

    这里有一个可能的-如果稍微“替代”的方法-作为

    • 你想要基于Linux的东西,
    • 不需要JVM语言,但可能需要更简单的语言,
    • 我想这是为了一个个人项目或者你可以自由选择技术的东西。

    Go 语言,尤其是他们的 webserver example

    他们也有一个 web-application development code-lab

    一些有趣的讨论 web-frameworks for Go Comet-support . 你还会发现 another http-server implementation .

    就像我说的,也许不完全是现成的解决方案,但我想你可能有兴趣探索一下。


    真的,没有蟒蛇?

    如果你要重新考虑Python,你可以看看 Tornado


    真的,没有虚拟机语言吗?

    如果你要重新考虑你对虚拟机语言的立场,我也建议你看看 Scala 以及 Lift web framework ,它非常支持comet,具有非常丰富的语法和良好的性能(由 Foursquare , Twitter Novell Pulse ,所以你可以打赌它的性能)


    好吧,让我们保持传统。。。

    LightHttpd ,它是用C语言开发的,应该可以满足您的所有需要。看看这个 LightHttpd page on Wikipedia 简短地说。

    (但实际上,看看其他的,尤其是围棋和Scala/Lift,即使只是出于教育目的)


    如果你需要更多。。。

    实际上,我刚刚注意到有人似乎已经做了腿上的工作。所以如果你想要更多的细节或者做更多的研究,看看 Comet Servers for Single Dealer Platforms article Comet Daily Comet Maturity Guide .


    编辑: 我刚意识到我不能回答你问题的第一部分。是的,使用Python 可以

    这个 Comet for highly-scalable applications

        2
  •  2
  •   Habbie    14 年前

    我的表现非常出色 http://www.ape-project.org/

        3
  •  1
  •   Chetan    14 年前

    Node.js ? 它在性能方面非常出色,甚至可能使您的代码更易于实现(如果您正在编写新代码,并且还没有编写一堆代码的话)。

    如果您正在为不是服务器端Javascript的现有代码寻找服务器,请忽略以下答案:)

    Here 是一个成功的公司使用节点.js为了他们彗星的需要。

    Here 是关于为什么节点.js太棒了,你将如何用节点.js.

        4
  •  0
  •   James Anderson    14 年前

    看看以前与jettyweb服务器捆绑在一起的基于jave的cometd服务器。

    现在可在 commetd.org

    不知道它的性能有多好,但它确实起作用了!

        5
  •  0
  •   Salman Haq    14 年前

    你应该问的问题是,Hookbox在伸缩方面有多好?

    答案是它非常好,因为它基于eventlet异步IO库。您的开发人员严重低估了它的功能。

    此外,Haylem提到的所有替代方案也值得考虑。如果您所做的只是构建一个大型聊天室或游戏,那么使用基于Python的解决方案可能会取得很大进展。我怀疑在Python性能成为一个问题之前,您将遇到大量其他可伸缩性问题。