ਅੰਦਰ ਦੇ ਨਾਲ ਟਿਕਾਊਤਾ ਅਤੇ ਇਕਸਾਰਤਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨਾ Apache Kafka Node.js

ਟਿਕਾਊਤਾ ਦਾ ਪ੍ਰਬੰਧਨ

ਵਿੱਚ ਪ੍ਰਤੀਕ੍ਰਿਤੀ ਅਤੇ ਵਿਭਾਗੀਕਰਨ ਦੀ ਸੰਰਚਨਾ Kafka: ਇੱਕ ਬਣਾਉਣ ਵੇਲੇ topic, ਤੁਸੀਂ ਇਸਦੇ ਲਈ ਭਾਗਾਂ ਦੀ ਸੰਖਿਆ topic ਦੇ ਨਾਲ ਨਿਰਧਾਰਤ ਕਰ ਸਕਦੇ ਹੋ replication factor । ਇਹ replication factor ਹਰੇਕ ਲਈ ਪ੍ਰਤੀਕ੍ਰਿਤੀਆਂ ਦੀ ਸੰਖਿਆ ਹੈ partition, ਦਲਾਲਾਂ ਦੀ ਸੰਖਿਆ ਨੂੰ ਨਿਰਧਾਰਿਤ ਕਰਦਾ ਹੈ ਕਿ ਹਰੇਕ ਸੰਦੇਸ਼ ਨੂੰ ਦੁਹਰਾਇਆ ਜਾਵੇਗਾ।

ਉਦਾਹਰਨ: ਮੰਨ ਲਓ ਕਿ ਤੁਹਾਡੇ ਕੋਲ orders topic 3 ਭਾਗਾਂ ਵਾਲਾ ਅਤੇ replication factor 2 ਦਾ a ਹੈ। ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਹਰੇਕ ਸੰਦੇਸ਼ ਨੂੰ 2 ਵੱਖ-ਵੱਖ ਦਲਾਲਾਂ ਨੂੰ ਦੁਹਰਾਇਆ ਜਾਵੇਗਾ। ਜੇਕਰ ਕੋਈ broker ਇੱਕ ਅਸਫਲਤਾ ਦਾ ਅਨੁਭਵ ਕਰਦਾ ਹੈ, ਤਾਂ ਵੀ ਤੁਸੀਂ ਬਾਕੀ ਬਚੇ ਸੁਨੇਹਿਆਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੇ ਹੋ broker ।

ਇਕਸਾਰਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣਾ

ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਵੇਲੇ ਮਾਨਤਾ ਵਿਧੀ: ਵਿੱਚ Apache Kafka, ਤੁਸੀਂ ਸ਼ੁੱਧਤਾ ਅਤੇ ਟਿਕਾਊਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਵੇਲੇ ਰਸੀਦ ਵਿਧੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਇਹ ਵਿਧੀ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਤੁਹਾਡੇ ਅੱਗੇ ਕਾਰਵਾਈਆਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਸੁਨੇਹੇ ਸਫਲਤਾਪੂਰਵਕ ਭੇਜੇ ਗਏ ਹਨ ਜਾਂ ਸਵੀਕਾਰ ਕੀਤੇ ਗਏ ਹਨ।

ਉਦਾਹਰਨ: ਸੁਨੇਹੇ ਭੇਜਣ ਵੇਲੇ, ਤੁਸੀਂ acks ਮਾਨਤਾ ਸੰਰਚਨਾ ਨੂੰ ਨਿਸ਼ਚਿਤ ਕਰਨ ਲਈ ਵਿਕਲਪ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਉਦਾਹਰਨ ਲਈ, acks: 1 ਇਹ ਸੁਨਿਸ਼ਚਿਤ ਕਰਦਾ ਹੈ ਕਿ ਸੁਨੇਹਾ ਸਫਲਤਾਪੂਰਵਕ broker ਦੇ ਨੇਤਾ ਨੂੰ ਭੇਜਿਆ ਗਿਆ ਹੈ partition । ਰਸੀਦ ਦੀ ਉਡੀਕ ਕਰਨ ਨਾਲ, ਤੁਹਾਨੂੰ ਪਤਾ ਲੱਗ ਜਾਵੇਗਾ ਕਿ ਹੋਰ ਕੰਮਾਂ ਨੂੰ ਜਾਰੀ ਰੱਖਣ ਤੋਂ ਪਹਿਲਾਂ ਸੁਨੇਹਾ ਕਦੋਂ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਸਟੋਰ ਕੀਤਾ ਗਿਆ ਹੈ।

const { Kafka } = require('kafkajs');  
  
const kafka = new Kafka({  
  clientId: 'your-client-id',  
  brokers: ['broker1:port1', 'broker2:port2'],  
});  
  
const producer = kafka.producer();  
  
const sendMessages = async() => {  
  await producer.connect();  
  await producer.send({  
    topic: 'your-topic',  
    messages: [{ value: 'Hello Kafka!' }],  
    acks: 1, // Acknowledge after the message is successfully sent  
  });  
  await producer.disconnect();  
};  
  
sendMessages();  

ਨੋਟ:

  • ਆਪਣੇ ਪ੍ਰੋਜੈਕਟ ਦੀ ਅਸਲ ਜਾਣਕਾਰੀ ਨਾਲ 'your-client-id', 'broker1:port1', , ਅਤੇ ਹੋਰ ਮੁੱਲਾਂ ਨੂੰ ਬਦਲਣਾ ਯਕੀਨੀ ਬਣਾਓ । 'your-topic'
  • ਸੰਰਚਨਾ ਵਿਕਲਪ ਅਤੇ ਮਾਨਤਾ ਵਿਧੀ ਖਾਸ ਪ੍ਰੋਜੈਕਟ ਲੋੜਾਂ ਦੇ ਅਧਾਰ ਤੇ ਵੱਖ-ਵੱਖ ਹੋ ਸਕਦੇ ਹਨ।

ਵਿਭਾਗੀਕਰਨ, ਰੀਪਲੀਕੇਸ਼ਨ, ਅਨੋਲੇਜਮੈਂਟ ਮਕੈਨਿਜ਼ਮ ਅਤੇ ਰੀਪਲੀਕੇਸ਼ਨ ਵਿਕਲਪਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੰਰਚਿਤ ਕਰਕੇ, ਤੁਸੀਂ ਟਿਕਾਊਤਾ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰ ਸਕਦੇ ਹੋ ਅਤੇ Apache Kafka ਵਰਤੋਂ ਕਰਦੇ ਸਮੇਂ ਇਕਸਾਰਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹੋ Node.js ।