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

相關文章
相關標籤/搜索