私はnodejsコードにRabbitMQを実装しようとする新しいユーザーです。私はそれを使用していくつかの例を紹介しましたが、それをリアルタイムの例でどのように使用するかについてはまだ不明です。私はキューからメッセージを読むためにRabbit MQを使用しようとしています。 nodejsのキューからメッセージを読み取るにはどうすればよいですか?nodejsのRabbitMQからメッセージを受け取る方法
ありがとうございます!
私はnodejsコードにRabbitMQを実装しようとする新しいユーザーです。私はそれを使用していくつかの例を紹介しましたが、それをリアルタイムの例でどのように使用するかについてはまだ不明です。私はキューからメッセージを読むためにRabbit MQを使用しようとしています。 nodejsのキューからメッセージを読み取るにはどうすればよいですか?nodejsのRabbitMQからメッセージを受け取る方法
ありがとうございます!
Node.jsには、npmjs.orgに貢献する大規模なオープンソースコミュニティがあります。チャンスは、誰かがあなたがしたいことをするためのモジュールを既に構築しているということです。あなたのケースでは
、https://www.npmjs.com/package/amqp
queue.subscribe([オプション、]リスナー)ためのドキュメントから:
q.subscribe(function (message, headers, deliveryInfo, messageObject) {
console.log('Got a message with routing key ' + deliveryInfo.routingKey);
});
これは私の目的で使用しようとしているモジュールですが、これは単なる基本的な設定です。リスナーを追加してメッセージを読むために待ち行列を聞く方法などの詳細を探しています。 – user6860877
彼らのドキュメントは非常に広範囲です。 https://www.npmjs.com/package/amqp#queuesubscribeoptions-listener – brandonscript
公式RabbitMQのチュートリアルは、基本的な例を提供しますNode.jsとamqp.node
ライブラリ(別名「amqplib」)を使用して、作業用コードを使用しています。
https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html
を私もRabbitMQのとNode.js.で、地上から行くための完全なトレーニングガイドを持っている:私はそこに始まるお勧めします焦点は「microservices」に向かってプッシュすることですが、材料のコアは最初、RabbitMQのを学んでいる:あなたはまだこのに探しているなら、私達はちょうどノードでのRabbitMQのための私達のOSSライブラリをリリースしhttps://sub.watchmecode.net/guides/microservices-with-rabbitmq/
:BunnyBus(WWWを。 github.com/xogroup/bunnybus)
裏にamqplib
を使用する超簡単なファサードです。
const BunnyBus = require('bunnybus');
const bunnyBus = new BunnyBus({
protocol : process.env.RABBIT_PROTOCOL,
user : process.env.RABBIT_USER,
password : process.env.RABBIT_PASSWORD,
server : process.env.RABBIT_SERVER,
port : process.env.RABBIT_PORT,
vhost : process.env.RABBIT_V_HOST
});
const messageHandler = {
'event-name': (message, acknowledge, reject, requeue) => {
// do your work with the message here
return acknowledge();
}
};
// This will auto-connect and create the queue and bindings if they do not exist
bunnyBus.subscribe('queueName', messageHandler)
.then(() => {
const myMessage = {/*your contents here*/};
return bunnyBus.publish(myMessage, { routeKey: 'event-name' });
});
ウェブサイト上にjavascriptのチュートリアルがあります。あなたはそれらをチェックアウトしたことがありますか? https://www.rabbitmq.com/getstarted.html – djones
@djonesはい私はしました! – user6860877