Matumizi ya msingi ya Kafka yanahusisha kuzalisha messages kwa topic na kuzitumia — kwa kawaida kupitia client library (Java, Python, n.k.). Kuelewa mtiririko wa msingi wa produce/consume ni mlango wa kivitendo wa kutumia Kafka.
Kuzalisha messages
// using a Kafka client (e.g. KafkaJS for Node)
const producer = kafka.producer();
await producer.connect();
await producer.send({
topic: 'orders',
messages: [
{ key: 'user-123', value: JSON.stringify({ orderId: 1, amount: 100 }) },
// key determines the partition (same key → same partition → ordering)
],
});
// → publishes the message to the 'orders' topic
Kutumia messages
const consumer = kafka.consumer({ groupId: 'order-processors' }); // a consumer GROUP
await consumer.connect();
await consumer.subscribe({ topic: 'orders', fromBeginning: false });
await consumer.run({
eachMessage: async ({ topic, partition, message }) => {
const data = JSON.parse(message.value.toString());
// process the message...
// offset is auto-committed (or commit manually for control)
},
});
Mambo muhimu ya kivitendo
✓ Use a client LIBRARY for your language (Java, KafkaJS, confluent-kafka-python, etc.)
✓ Producers: set a KEY for ordering/partitioning; configure acks for durability
✓ Consumers: use a GROUP ID; the group distributes partitions; commit offsets
✓ Handle SERIALIZATION (JSON, Avro, Protobuf) — often a schema registry for structured data
✓ Handle errors, retries; process idempotently (at-least-once → possible duplicates)
Kwa nini ni muhimu
Kuelewa matumizi ya msingi ya produce/consume ni jambo la thamani kwa sababu ni mlango wa kivitendo wa kutumia Kafka, hivyo ni maarifa muhimu ya kivitendo kwa kufanya kazi na Kafka.
Kujua jinsi ya kuzalisha na kutumia messages ni ujuzi wa msingi wa kutumia Kafka katika programu.
Kuelewa kuzalisha messages — kuunganisha producer na kutuma records (key, value) kwa topic, huku key ikiamua partitioning na mpangilio — ni operesheni ya msingi ya kuandika.
Kuelewa kutumia messages — kuunganisha consumer na group ID, kusajili topic, na kuchakata messages (huku offsets zikiwasilishwa otomatiki au kwa mkono) — ni operesheni ya msingi ya kusoma, consumer group ikiwa jinsi matumizi yanavyopanuka.
Kuelewa mambo muhimu ya kivitendo — kutumia client library kwa lugha yako (Java, KafkaJS, Python, n.k.), kuweka keys kwa mpangilio na kusanidi acks kwa udumu kwenye producers, kutumia group IDs na kuwasilisha offsets kwenye consumers, kushughulikia serialization (JSON, Avro, Protobuf, mara nyingi na schema registry kwa data yenye muundo), na kushughulikia errors, retries, na uchakataji wa idempotent (kwa kuwa delivery ya at-least-once inamaanisha duplicates zinazowezekana) — kunaonyesha mambo ya kivitendo kwa matumizi halisi ya Kafka.
Mambo haya ya kivitendo (keys, groups, serialization, idempotency) yanaunganisha maarifa ya kidhana (partitions, consumer groups, delivery semantics) na code halisi.
Kwa kuwa kuzalisha na kutumia messages ni ujuzi wa msingi wa kivitendo wa kutumia Kafka katika programu, na kwa kuwa kuelewa mtiririko wa msingi na mambo ya kivitendo (keys, groups, serialization, idempotency) ni maarifa muhimu ya kivitendo, kuelewa matumizi ya msingi ya produce/consume ya Kafka ni maarifa ya thamani na yenye umuhimu wa kivitendo — mlango wa kivitendo wa kutumia Kafka, unaounganisha dhana na code, na muhimu kwa yeyote anayejenga programu kwa Kafka.
