내구성 관리
복제 및 파티셔닝 구성 Kafka: 를 생성할 때 와 함께 topic 파티션 수를 지정할 수 있습니다. 각 메시지가 복제될 브로커의 수를 결정하는 각 복제본 의 수 입니다. topic replication factor replication factor partition
예: orders
topic 3개의 파티션과 2개의 파티션이 있다고 가정해 보겠습니다. replication factor 이는 각 메시지가 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 파티셔닝, 복제, 확인 메커니즘 사용 및 복제 옵션을 구성하면 .NET 사용 시 내구성 및 일관성 보장을 효과적으로 관리할 수 있습니다 Node.js.