我想创建一个能够OCR文本的进程场。 我曾考虑使用由多个OCR进程读取的单个消息队列。
我想确保:
使用AMQP可以吗?
我打算使用python和rabbitmq
答案 0 :(得分:5)
是的,正如@nailxx指出的那样。 AMQP编程模型与JMS略有不同,因为您只有队列,可以在工作人员之间共享,或者由单个工作人员私下使用 。您还可以轻松设置RabbitMQ以执行 PubSub 用例或JMS中的内容称为主题。请转到Getting Started上的RabbitMQ web site页面,查找大量有用的信息。
现在,特别是对于您的用例,已经有很多工具可用。人们正在使用很多,并得到很好支持的是Celery。这是关于它的blog post,我认为这将有助于您入门:
如果您有任何疑问,请给我们发电子邮件或发送到rabbitmq-discuss邮件列表。
答案 1 :(得分:3)
是的,这是可能的。用于我正在进行的实时MMO游戏的服务器集群以这种方式运行。我们使用ActiveMQ,但我认为RabbitMQ也可以实现这一切。
您提到的所有项目都是开箱即用的,除了最后一项。
为了使最后一个以所需方式工作,消费者在订阅队列时发送特定于AMQ的参数:
activemq.prefetchSize: 1
此设置可确保消费者在收到消息之后不再接收任何消息,直到它向{AMQ}发送ack
。我相信RabbitMQ中存在类似的东西。