message-queue

Should I use Celery or Carrot for a Django project?

只愿长相守 提交于 2019-12-02 18:07:11
I'm a little confused as to which one I should use. I think either will work, but is one better or more appropriate than the other? http://github.com/ask/carrot/tree/master http://github.com/ask/celery/tree/master If you need to send/receive messages to/from AMQP message queues, use carrot . If you want to run scheduled tasks on a number of machines, use celery . If you're making soup, use both ;-) May you should see this http://www.slideshare.net/idangazit/an-introduction-to-celery 来源: https://stackoverflow.com/questions/1102254/should-i-use-celery-or-carrot-for-a-django-project

Samza: Delay processing of messages until timestamp

社会主义新天地 提交于 2019-12-02 18:04:46
问题 I'm processing messages from a Kafka topic with Samza. Some of the messages come with a timestamp in the future and I'd like to postpone the processing until after that timestamp. In the meantime, I'd like to keep processing other incoming messages. What I tried to do is make my Task queue the messages and implement the WindowableTask to periodically check the messages if their timestamp allows to process them. The basic idea looks like this: public class MyTask implements StreamTask,

What's the purpose of Kafka's key/value pair-based messaging?

老子叫甜甜 提交于 2019-12-02 17:50:42
All of the examples of Kafka | producers show the ProducerRecord 's key/value pair as not only being the same type (all examples show <String,String> ), but the same value . For example: producer.send(new ProducerRecord<String, String>("someTopic", Integer.toString(i), Integer.toString(i))); But in the Kafka docs, I can't seem to find where the key/value concept (and its underlying purpose/utility) is explained. In traditional messaging (ActiveMQ, RabbitMQ, etc.) I've always fired a message at a particular topic/queue/exchange. But Kafka is the first broker that seems to require key/value

Difference between Apache Thrift and ZeroMQ

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-02 17:06:38
I understand that Apache Thrift and ZeroMQ are softwares belonging to different categories, and it is not easy to do a comparison since it is an apple to orange comparison. But I don't know why they belong to different categories. Aren't they both used to pass data between different services, which may or may not be written in different languages? When should I use Thrift and when should I use a message queue? sdg They belong to different categories primarily because they are targetted at different audiences with different concerns. Therefore they are better at different things. Apache Thrift

Message broker vs. MOM (Message-Oriented Middleware)

泄露秘密 提交于 2019-12-02 16:40:15
I'm a little confused as to what the difference is between a message broker e.g. RabbitMQ and Message-orientated Middleware. I can't find much info apart from what's on Wikipedia. When searching MOM I find info on AMQP which states is a protocol for MOM.. what does this mean? What is MOM then? I also have read that RabbitMQ implements the AMPQ protocol.. so why does that make a RabbitMQ a messsage broker? Are a message broker and MOM the same thing? Hope some can unravel my confusion. thanks An overview - A protocol - A set of rules. AMQP - AMQP is an open internet protocol for reliably

What is the difference between a channel adapter and a messaging gateway pattern?

橙三吉。 提交于 2019-12-02 16:11:36
No matter how much I read about those two patterns I just can't see the difference. That's a great question since they are similar in that they provide an application access to a messaging system. It is how they acheive it I think that differentiates them. The Channel Adapter pattern deals how to get data from an existing system without modifying that system. Typically the Channel Adapdter is implemented out-of-process. Examples often seen are a program that periodically walks an underlying database to find things to enqueue. Of perhaps a stand-alone app that calls a remoting or HTTP API to

Check RabbitMQ queue size from client

青春壹個敷衍的年華 提交于 2019-12-02 16:09:37
Does anyone know if there's a way to check the number of messages in a RabbitMQ queue from a client application? I'm using the .NET client library. You actually can retrieve this via the client. When perform a queue_declare operation RabbitMQ returns a three tuple containing (<queue name>, <message count>, <consumer count>) . The passive argument to queue_declare allows you to check whether a queue exists without modifying the server state. So you can use queue_declare with the passive option to check queue length. Not sure about .NET, but in Python it looks something like this: name, jobs,

Topic Exchange vs Direct Exchange in RabbitMQ

夙愿已清 提交于 2019-12-02 16:08:27
We've got an application which will be using RabbitMQ and have several different queues for passing messages between tiers. Initially, I was planning to use multiple direct exchanges, with one for each message type, but it looks like having a single topic exchange with queues using different routing key bindings will achieve the same thing. Having a single exchange also seems like it would be a bit easier to maintain, but I was wondering if there is any benefit (if any) of doing it one way over the other? Option 1, using multiple direct exchanges: ExchangeA (type: direct) -QueueA ExchangeB

Why use Celery instead of RabbitMQ?

本小妞迷上赌 提交于 2019-12-02 14:21:26
From my understanding, Celery is a distributed task queue, which means the only thing that it should do is dispatching tasks/jobs to others servers and get the result back. RabbitMQ is a message queue, and nothing more. However, a worker could just listen to the MQ and execute the task when a message is received. This achieves exactly what Celery offers, so why need Celery at all? You are right, you don't need Celery at all. When you are designing a distributed system there are a lot of options and there is no right way to do things that fits all situations. Many people find that it is more

In which domains are message oriented middleware like AMQP useful?

旧巷老猫 提交于 2019-12-02 14:00:47
What problem do MOM (Message Oriented Middleware) solve? Scalability? Integration? In which domain are they typically used and in which domains are they typically not used? For example, say, is Google using such solution for it's main search engine or to power GMail? What about big websites like Walmart, eBay, FedEx (pretty much a Java shop) and buy.com (pretty much an MS shop)? Does MOM solve a need there? Does it make any sense when you're writing a Webapp where you control the server-side and have an homogenous environment (say tens of Amazon EC2 instances all running Linux + Java JVMs)