彗星上的蟒蛇

时间:2010-07-07 20:47:54

标签: python comet orbited

我对python中的web编程很陌生。

我有兴趣在浏览器上建一个聊天室。 (原型)。 我知道django很好,并且在过去做了一些扭曲。

然后我遇到了轨道。 它的记录非常糟糕(我不认为它实际上有资格获得文档),但这些术语似乎经常出现:

  1. 绕行
  2. MorbidQ,ActiveQ,以及一大堆MessageQueue技术
  3. 我在轨道网站上做了一些例子,但他们似乎并没有真正解释一切如何一起工作。

    我的问题是:

    1. 我一直在[listen]指令上看到http://:9000。根据他们的主要网站,“监听部分描述了Orbited应该用来接受浏览器连接的接口和端口。” AFAIK,标准浏览器使用端口80进行通信。我认为这个端口用于orbited.js连接服务器以获取彗星技术?如果8000被阻止会怎么样? (就像学校/组织中大多数防火墙的背后)

    2. 我一直看到单词代理。我不知道实际代理如何适应这种框架组合

    3. 与扭曲和轨道的关系。 Orbited是建在ON TOP OF扭曲的(如果我没错)。那么为什么有这么多的例子讨论使用绕线的ON TOP?为什么我首先需要扭曲?我可以在nginx上使用orbited吗? (再次,在结果中搜索nginx和轨道结果会在其中包含单词proxy。这样如何适合?)

    4. 关于http://anirudhsanjeev.org/tutorialhow-to-django-comet-orbited-stomp-morbidq-jsio/,作者使用xml-rpc服务器。有人可以解释为什么吗? (他说“你不能在你的django视图中启动一个反应堆发送/接收系统”,但为什么我们甚至需要在第一个地方内部运行一个反应堆?是不是建立在扭曲之上的轨道?因此它有自己的反应堆吗?)

    5. Morbidq将自己描述为“Morbid是一个完全没有集群潜力的STOMP发布/订阅服务器。它支持发布/订阅主题,并作为单个节点运行。”我们为什么需要这个?彗星难道不能解决这个问题吗?为什么我一直看到结合了许多看似相似但真正有明显区别的技术的教程?

    6. 我想要做的就是构建一个简单的网络聊天应用程序。看到这个后,我意识到可能使用轨道和扭曲和morbidq和django等可能太麻烦了。 (当然我打算让它可扩展)。

    7. 我看着龙卷风,没关系,但在社区方面有点小imo。除了它允许非阻塞连接(我在IRC上学到了这一点)之外它并没有真正做到彗星。我真的需要所有特殊的彗星技术,还是长时间的民意调查会让我满意? (对于简单的网络聊天应用程序)

    8. 大公司使用什么?什么是大公司正在应用的标准事实彗星框架? (比如facebook,gtalk和twitter?)这些是否在python中可用?

    9. 任何问题的任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我正在努力解决这个问题,我想我可以回答一些问题,以供将来参考。

1)如果对该端口的访问被阻止,您的网站将无法与Orbited通信。

2)代理很多东西,把它想象成“重定向”,nginx作为代理。

orbited是在扭曲的基础上构建的,但它启动了自己的Twisted服务器。当与扭曲的人有关时,可能会谈论他们自己的应用程序内置的Twisted而不是Django或其他人。

4)你可以通过post / get请求避免使用RPC并将消息放入Django脚本的队列中,他可能想要构建更多... corporative。

5)morbidQ是一个队列系统。彗星只是一个概念。构建框架是为了解决某些问题,可能还有其他类似的解决方案,但对于这种情况并不完整。我个人用rabbitMQ取代了morbidQ。

6)你是对的,可扩展性更多地取决于你的编码而不是你选择的技术。

7)龙卷风很棒。一切都被认为是特殊的,没有完整的浏览器支持,而长轮询确实。

8)他们从未开辟过彗星解决方案。但没有什么大不了的。我认为ruby在这个问题上的演变更多。

希望它可以帮助未来的网络冲浪者!