Redpanda adalah platform streaming data yang dirancang untuk memberikan performa tinggi dan efisiensi dalam pemrosesan aliran data real-time. Sebagai alternatif modern untuk Apache Kafka, Redpanda memiliki keunggulan dalam ekosistem teknologi big data dan stream processing.
Redpanda dibangun dari dasar dengan bahasa pemrograman C++ yang memungkinkannya untuk memanfaatkan perangkat keras modern secara optimal. Berikut beberapa keunggulan utama dari Redpanda:
- Performa Tinggi: Redpanda dirancang untuk memberikan throughput tinggi dan latensi rendah. Ini memungkinkan aplikasi untuk memproses jutaan pesan per detik dengan latensi yang sangat minim, menjadikannya ideal untuk kasus penggunaan yang memerlukan respon cepat.
- Kesederhanaan Operasional: Redpanda tidak memiliki dependensi eksternal seperti ZooKeeper, yang sering digunakan oleh Kafka untuk manajemen klaster. Hal ini membuat Redpanda lebih mudah dioperasikan dan dipelihara, karena mengurangi kompleksitas konfigurasi dan manajemen.
- Kompatibilitas Kafka: Redpanda kompatibel dengan API Kafka, yang berarti aplikasi yang sudah ada dapat menggunakan Redpanda tanpa perlu modifikasi besar. Ini memberikan fleksibilitas bagi organisasi yang ingin beralih ke Redpanda tanpa mengubah infrastruktur aplikasi yang sudah ada.
- Efisiensi Sumber Daya: Berkat penggunaan C++, Redpanda dapat memanfaatkan memori dan CPU dengan sangat efisien. Ini memungkinkan Redpanda untuk berjalan dengan baik pada perangkat keras yang lebih kecil atau dalam lingkungan yang terdistribusi dengan sumber daya terbatas.
Berikut cara menginstall RedPanda pada docker. Pastikan docker compose sudah terinstall. Buat file dengan perintah nano docker-compose.yml
version: '3.3'
services:
redpanda:
image: vectorized/redpanda
command:
- redpanda start --overprovisioned --smp 1 --memory 1G --reserve-memory 0M --node-id 0 --check=false
- --advertise-kafka-addr PLAINTEXT://111.222.333.444:9092,PLAINTEXT://redpanda:9092
- --kafka-addr PLAINTEXT://0.0.0.0:9092
ports:
- "9092:9092"
networks:
- redpanda-network
akhq:
image: tchiotludo/akhq
ports:
- "8080:8080"
environment:
AKHQ_CONFIGURATION: |
akhq:
connections:
redpanda-cluster:
properties:
bootstrap.servers: "111.222.333.444:9092"
networks:
- redpanda-network
networks:
redpanda-network:
driver: bridge
Ganti IP 111.222.333.444 dengan IP Publik dari server kita.
Kemudian jalankan perintah docker-compose up -d
Setelah selesai, kita coba dengan coding menggunakan nodes js untuk melakukan testing producer dan consumer. Pastikan sudah terinstall nodejs kemudian buat file dengan nano app.js
const Kafka = require('node-rdkafka');
// Konfigurasi produser
const producer = new Kafka.Producer({
'metadata.broker.list': '111.222.333.444:9092',
'dr_cb': true // Delivery report callback
});
// Siapkan produser
producer.on('ready', function() {
console.log('Producer ready');
// Mengirim pesan
const topic = 'test-topic';
const value = Buffer.from('Hello, Redpanda!');
const key = 'key';
producer.produce(
topic,
null,
value,
key,
Date.now()
);
console.log(`Message produced: ${value.toString()}`);
});
// Menangani error
producer.on('event.error', function(err) {
console.error('Error from producer:', err);
});
// Mulai produser
producer.connect();
// Konfigurasi konsumer
const consumer = new Kafka.KafkaConsumer({
'group.id': 'my-group',
'metadata.broker.list': '111.222.333.444:9092'
}, {});
// Siapkan konsumer
consumer.on('ready', function() {
console.log('Consumer ready');
// Subscribe ke topik
consumer.subscribe(['test-topic']);
// Konsumsi pesan
consumer.consume();
});
// Menangani pesan
consumer.on('data', function(data) {
console.log(`Received message: ${data.value.toString()}`);
});
// Menangani error
consumer.on('event.error', function(err) {
console.error('Error from consumer:', err);
});
// Mulai konsumer
consumer.connect();
Ganti IP 111.222.333.444 dengan IP Publik dari server kita.
install library yang dibutuhkan dengan perintah npm install node-rdkafka. Selanjutnya jalankan nodejs app.js.
root@17e848aea0a1:/usr/src/app# node app.js
Producer ready
Message produced: Hello, Redpanda!
Consumer ready
Received message: Hello, Redpanda!
Selamat kita sudah berhasil implementasi redpanda. Untuk melihat log bisa akses port 8080 dari ip publik server contoh: 111.222.333.444:8080 berikut capture saat saya ujicoba.

Langkah yang kita lakukan diatas belum menggunakan auth, sehingga producer dan consumer siapain bisa akses melalui internet. Selanjutnya kita akan coba implementasi redpanda menggunakan auth. Semoga bermanfaat.