Messaging Redis NodeJS ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਹੋਣ 'ਤੇ ਆਮ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚੋਂ ਇੱਕ ਹੈ । Redis ਲਚਕਦਾਰ ਡਾਟਾ ਢਾਂਚੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ ਜਿਵੇਂ ਕਿ Pub/Sub(Publish/Subscribe) ਅਤੇ Message Queue, ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਕੰਪੋਨੈਂਟਸ ਦੇ ਵਿਚਕਾਰ ਸੰਚਾਰ ਪ੍ਰਣਾਲੀਆਂ ਅਤੇ ਡੇਟਾ ਐਕਸਚੇਂਜ ਦੇ ਨਿਰਮਾਣ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦਾ ਹੈ।
Pub/Sub(Publish/Subscribe)
Pub/Sub ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਭਾਗਾਂ ਨੂੰ ਸੰਦੇਸ਼ਾਂ ਨੂੰ ਰਜਿਸਟਰ ਕਰਨ ਅਤੇ ਪ੍ਰਸਾਰਿਤ ਕਰਨ ਦੁਆਰਾ ਸੰਚਾਰ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਇੱਕ ਕੰਪੋਨੈਂਟ ਇੱਕ ਪ੍ਰਕਾਸ਼ਕ ਵਜੋਂ ਕੰਮ ਕਰ ਸਕਦਾ ਹੈ, ਇੱਕ ਚੈਨਲ ਨੂੰ ਸੁਨੇਹੇ ਭੇਜ ਸਕਦਾ ਹੈ, ਅਤੇ ਦੂਜੇ ਹਿੱਸੇ ਉਸ ਚੈਨਲ 'ਤੇ ਸੰਦੇਸ਼ਾਂ ਨੂੰ ਸੁਣਦੇ ਹੋਏ, ਗਾਹਕਾਂ ਵਜੋਂ ਕੰਮ ਕਰ ਸਕਦੇ ਹਨ।
ਅਤੇ NodeJS Pub/Sub ਨਾਲ ਵਰਤਣ ਦੀ ਉਦਾਹਰਨ: Redis
const Redis = require('ioredis');
const subscriber = new Redis();
const publisher = new Redis();
// Subscribe and listen for messages on the 'notifications' channel
subscriber.subscribe('notifications',(err, count) => {
console.log(`Subscribed to ${count} channels.`);
});
// Handle messages when received from the 'notifications' channel
subscriber.on('message',(channel, message) => {
console.log(`Received message from channel '${channel}': ${message}`);
});
// Publish a message to the 'notifications' channel
publisher.publish('notifications', 'New notification!');
Message Queue
Redis Message Queue ਅਸਿੰਕ੍ਰੋਨਸ ਨੌਕਰੀਆਂ ਦਾ ਪ੍ਰਬੰਧਨ ਅਤੇ ਪ੍ਰਕਿਰਿਆ ਕਰਨ ਲਈ ਇੱਕ ਵਜੋਂ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ । ਇਹ ਲੇਟੈਂਸੀ ਨੂੰ ਘਟਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਮਾਪਯੋਗਤਾ ਨੂੰ ਵਧਾਉਂਦਾ ਹੈ।
ਅਤੇ NodeJS Message Queue ਨਾਲ ਵਰਤਣ ਦੀ ਉਦਾਹਰਨ: Redis
const Redis = require('ioredis');
const client = new Redis();
// Add a task to the 'tasks' queue
client.rpush('tasks', JSON.stringify({ id: 1, data: 'Task 1' }));
// Process tasks from the 'tasks' queue
function processTask() {
client.lpop('tasks',(err, task) => {
if(task) {
const parsedTask = JSON.parse(task);
console.log('Processing task:', parsedTask);
// Process the task here...
// Continue processing the next tasks
processTask();
}
});
}
// Start processing tasks from the queue
processTask();
ਨੋਟ: ਇਹ NodeJS ਨਾਲ Redis ਵਰਤਣ ਦੀਆਂ ਸਿਰਫ਼ ਬੁਨਿਆਦੀ ਉਦਾਹਰਣਾਂ ਹਨ । Messaging ਅਭਿਆਸ ਵਿੱਚ, ਲਾਗੂ ਕਰਨ ਅਤੇ ਸਕੇਲਿੰਗ Messaging ਪ੍ਰਣਾਲੀਆਂ ਵਧੇਰੇ ਗੁੰਝਲਦਾਰ ਹੋ ਸਕਦੀਆਂ ਹਨ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਦੀਆਂ ਖਾਸ ਲੋੜਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦੀਆਂ ਹਨ। ਵਧੇਰੇ ਗੁੰਝਲਦਾਰ ਪ੍ਰਣਾਲੀਆਂ Redis ਵਿੱਚ NodeJS ਨਾਲ ਏਕੀਕ੍ਰਿਤ ਕਰਦੇ ਸਮੇਂ ਸੁਰੱਖਿਆ, ਗਲਤੀ ਸੰਭਾਲਣ, ਅਤੇ ਪ੍ਰਦਰਸ਼ਨ ਅਨੁਕੂਲਤਾ 'ਤੇ ਵਿਚਾਰ ਕਰੋ । Messaging