2010-07-07 116 views
0

我对python中的web编程非常新颖。python上的彗星

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

然后我碰到了轨道。 这是相当严重的记录(我不认为这实际上是文档资格反正),但这些条件似乎弹出相当频繁:

  1. 绕行
  2. 扭曲
  3. MorbidQ,ActiveQ和bascially一一群MessageQueue技术

我在轨道网站上做了一些例子,但它们似乎并没有解释真正的一切如何协同工作。

我的问题是:

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

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

  3. 与扭曲和轨道的关系。轨道是建立在扭曲的顶部(如果我没有错)。那么为什么有那么多的例子讨论使用轨道上的扭曲的TOP?为什么我首先需要扭曲?我可以在nginx上使用轨道吗? (同样,搜索nginx和轨道结果的结果中包含代理字词,这是怎么回事?)

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

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

  6. 我想要做的就是构建一个简单的网聊应用程序。看到这个后,我意识到可能使用轨道式和扭曲式,morbidq和django等可能太麻烦。 (当然,我正在计划使其可扩展性)。

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

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

任何帮助任何问题将不胜感激。

回答

0

嗯,我正在努力相同,我想我可以回答一些问题,以供将来参考。

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

2)代理是很多事情,把它想象成“重定向”,nginx作为代理。 3)轨道是建立在扭曲的基础上的,但它启动了它自己的Twisted服务器。当与扭曲的人相关时,可能会谈论他们自己构建在Twisted中的应用程序,而不是Django或其他应用程序。

4)您可以避免RPC,并通过post/get请求将消息放入队列中直接从Django脚本中删除,他可能希望构建更多......法人团体。

5)morbidQ是一个队列系统。彗星只是一个概念。框架是为了解决某些问题而建立的,可能有其他类似的解决方案,但并不完全适合这种情况。我个人用rabbitMQ替换了morbidQ。

6)你是对的,可伸缩性更依赖于你的编码而不是你选择的技术。

7)龙卷风很棒。所有被认为特殊的东西都没有完整的浏览器支持,而长时间轮询却没有。 8)他们从未开放他们的彗星解决方案。但没有什么大不了的。我认为ruby在这个问题上更加发展。

希望它有助于未来网络冲浪者!