Introduction to busmq
busmq is a robust message queuing system that simplifies the development of scalable, distributed applications. It provides an intuitive API to handle tasks related to messaging and queuing, making the communication between different application components seamless and efficient.
Core APIs of busmq
1. Creating a Queue
The createQueue
API allows you to create a new queue.
const Bus = require('busmq'); const bus = Bus.create(); const queue = bus.queue('myQueue'); queue.attach();
2. Sending Messages
Use the sendMessage
API to send messages to a queue.
queue.push('Hello World');
3. Receiving Messages
The receiveMessage
API enables you to listen and process messages from the queue.
queue.on('message', (message) => { console.log('Received message:', message); });
4. Acknowledging Messages
Use the acknowledgeMessage
API to acknowledge the reception of a message.
queue.on('message', (message, ack) => { console.log('Received message:', message); ack(); });
5. Purging a Queue
The purgeQueue
API clears all messages from the queue.
queue.purge((err) => { if (!err) console.log('Queue purged successfully'); });
6. Queue Statistics
Use the getStats
API to fetch statistics about the queue.
queue.stats((err, stats) => { if (!err) console.log('Queue stats:', stats); });
Example Application with busmq APIs
Below is a simple example of an application using the above busmq APIs to create a queue, send messages, and receive messages.
const Bus = require('busmq'); // Initialize busmq const bus = Bus.create(); bus.on('online', () => { console.log('Bus is online'); // Create and attach queue const queue = bus.queue('appQueue'); queue.attach(); // Send message queue.push('App message'); // Receive message queue.on('message', (message, ack) => { console.log('App received:', message); // Acknowledge message ack(); }); // Fetch stats queue.stats((err, stats) => { if (!err) console.log('Queue stats:', stats); }); }); bus.connect();
With busmq, you can efficiently manage message queues in your distributed applications, ensuring improved communication and scalability.
Hash: 2b2ae00a8dbc7e19e6cd594d6064455f50ae59ae55210cd01aa1a1df68521487