mqueue

mqueue

mqueue是一个基于mongodb的简单消息队列,其的使用方式和其余MQ基本相同,只是在一些名词命名上有些不一样。为了更好的讨论,这里对这些名词作简单解释。 git

  • Producer:就是网发消息的客户端
  • Consumer:从取消息的客户端
  • Topic (T):能够理解为一个队列
  • Consumer Group (CG):一个 topic能够有多个CG。topic的消息会复制(不是真的复制,是概念上的)到全部的CG,但每一个CG只会把消息发给该CG中的一个 consumer。若是须要实现广播,只要每一个consumer有一个独立的CG就能够了。要实现单播只要全部的consumer在同一个CG。用CG还 能够将consumer进行自由的分组而不须要屡次发送消息到不一样的topic。

使用方式

设置mongodb-queue.properties github

#消息队列使用的库名
queue.db.name=test-queue
#mongodb server 地址
mongodb.servers=localhost:28010

消息发送 mongodb

Producer producer = new SimpleProducer() ; BasicDBObject message = new BasicDBObject() ;

        message.put("name", "wens") ;
        message.put("age", 28) ;

        producer.send("test-topic2", message ) ;

消息接收 ide

Consumer consumer = new SimpleConsumer("default");

        consumer.subscribe("test-topic2", new MessageListener() { @Override public void recieveMessages(BasicDBObject message) { System.out.println("test-topic : " + message );

            } @Override public Executor getExecutor() { // TODO Auto-generated method stub return null;
            }
        }) ;


github : https://github.com/wenzuojing/mqueue spa

相关文章
相关标签/搜索