મેનેજિંગ ટકાઉપણું
પ્રતિકૃતિ અને પાર્ટીશન રૂપરેખાંકિત કરી રહ્યા છીએ 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.