Kafka-backup: Pengimbangan konsumen

Dibuat pada 13 Jun 2019  ·  3Komentar  ·  Sumber: itadventurer/kafka-backup

@azapps Pertama-tama terima kasih untuk proyek open source yang luar biasa ini.

Saya menulis posting blog tentang pencadangan dan pemulihan Topik Kafka di lingkungan Kubernetes dengan proyek open source lain OpenEBS yang menyediakan penyimpanan terpasang wadah persisten yang mendasarinya.

Untuk saat ini saya memutuskan untuk menggunakan konektor S3 Spredfast tetapi teman saya Arash Kaffamanesh mengarahkan saya ke pekerjaan Anda. Saya punya beberapa pertanyaan.

Pada saat restore, bagaimana saya memberitahu konsumen dari mana harus mulai mengkonsumsi?
Bisakah Anda berbagi perbedaan tambahan dengan konektor spredfast?

lingkungan Kafka saya berjalan di Kubernetes. Idealnya saya menginginkan lokasi penyimpanan cadangan/pemulihan di luar cluster saya sehingga saya bisa mendapatkannya kembali jika terjadi kegagalan.

lokasi pencadangan ditentukan oleh target.dir , menjadi sulit untuk mengelola jalur pada sebuah node jika lingkungannya adalah Kubernetes.

Komentar yang paling membantu

Hai Imran,

Saya menulis posting blog tentang pencadangan dan pemulihan Topik Kafka di lingkungan Kubernetes dengan proyek open source lain OpenEBS yang menyediakan penyimpanan terpasang wadah persisten yang mendasarinya.

Mencadangkan Kafka menggunakan snapshot Sistem File bukanlah hal yang sepele. Lihat https://github.com/azapps/kafka-backup/blob/master/docs/Comparing_Kafka_Backup_Solutions.md untuk informasi lebih lanjut tentang itu.

Untuk saat ini saya memutuskan untuk menggunakan konektor S3 Spredfast tetapi teman saya Arash Kaffamanesh mengarahkan saya ke pekerjaan Anda. Saya punya beberapa pertanyaan.

Konektor S3 tampaknya baik-baik saja jika Anda tidak perlu mengembalikan offset Konsumen apa pun. Saya menyelam jauh ke dalam kode sumber konektor S3 sebelum mengabaikannya sebagai solusi untuk masalah kami karena tidak menyediakan fitur penting itu dan sulit untuk memperluasnya untuk menangani kasus itu.

Pada saat restore, bagaimana saya memberitahu konsumen dari mana harus mulai mengkonsumsi?

Saat ini satu-satunya cara adalah menghapus segmen yang tidak boleh dipulihkan dan membuat ulang indeks. Akan ada lebih banyak informasi segera tentang bagaimana mencapai itu. Jika Anda benar-benar perlu memulai pemulihan dari offset yang sangat spesifik, silakan buka masalah. Itu seharusnya tidak sulit untuk diterapkan.

Bisakah Anda berbagi perbedaan tambahan dengan konektor spredfast?

Sekali lagi, konektor S3 tidak dapat menyinkronkan offset konsumen selama pemulihan. Faktanya, tidak ada cara untuk melakukannya dengan andal di versi Kafka saat ini. Berkat kerja @ryannedolan di Mirror Maker 2 akan segera ada cara untuk melakukannya dan kafka-backup menggunakan API itu. Untungnya perubahan ini bahkan kompatibel ke belakang dan akan ada dokumentasi cara menggunakan kafka-backup dengan cara itu segera.

Selain itu, Konektor S3 hanya mendukung S3. Saat ini kafka-backup hanya mendukung pencadangan ke sistem file dan kemudian Anda dapat menggunakan alat apa pun yang Anda inginkan untuk memindahkannya ke tujuan akhir Anda. Saya berencana untuk menambahkan dukungan untuk lebih banyak backend penyimpanan jika diperlukan.

Selain itu, kedua proyek ini secara arsitektur sangat mirip (pada kenyataannya, konektor S3 bersama dengan Mirror Maker 2 menginspirasi kafka-backup )

lingkungan Kafka saya berjalan di Kubernetes. Idealnya saya menginginkan lokasi penyimpanan cadangan/pemulihan di luar cluster saya sehingga saya bisa mendapatkannya kembali jika terjadi kegagalan.

Sejauh yang saya tahu Anda juga menggunakan Strimzi, kami memiliki cadangan yang sama. Saya akan segera menulis posting blog bagaimana melakukan backup penuh Kafka dan (jangan lupa itu!) Zookeeper di Kubernetes dan Strimzi.

lokasi pencadangan ditentukan oleh target.dir , menjadi sulit untuk mengelola jalur pada sebuah node jika lingkungannya adalah Kubernetes.

Cukup pasang volume persisten seperti biasa. Gunakan wadah sespan untuk memindahkannya ke tujuan akhir Anda. Anda bahkan dapat menjaga volume persisten relatif kecil karena Anda dapat menghapus segmen lama dan indeksnya segera setelah selesai. (Dokumentasi akan datang)

Jika Anda menunggu beberapa hari lagi, saya akan menerbitkan posting blog pengantar yang mencakup beberapa topik Anda. Tulis saya email atau minta draft @arashkaffamanesh :wink:

Semua 3 komentar

Hai Imran,

Saya menulis posting blog tentang pencadangan dan pemulihan Topik Kafka di lingkungan Kubernetes dengan proyek open source lain OpenEBS yang menyediakan penyimpanan terpasang wadah persisten yang mendasarinya.

Mencadangkan Kafka menggunakan snapshot Sistem File bukanlah hal yang sepele. Lihat https://github.com/azapps/kafka-backup/blob/master/docs/Comparing_Kafka_Backup_Solutions.md untuk informasi lebih lanjut tentang itu.

Untuk saat ini saya memutuskan untuk menggunakan konektor S3 Spredfast tetapi teman saya Arash Kaffamanesh mengarahkan saya ke pekerjaan Anda. Saya punya beberapa pertanyaan.

Konektor S3 tampaknya baik-baik saja jika Anda tidak perlu mengembalikan offset Konsumen apa pun. Saya menyelam jauh ke dalam kode sumber konektor S3 sebelum mengabaikannya sebagai solusi untuk masalah kami karena tidak menyediakan fitur penting itu dan sulit untuk memperluasnya untuk menangani kasus itu.

Pada saat restore, bagaimana saya memberitahu konsumen dari mana harus mulai mengkonsumsi?

Saat ini satu-satunya cara adalah menghapus segmen yang tidak boleh dipulihkan dan membuat ulang indeks. Akan ada lebih banyak informasi segera tentang bagaimana mencapai itu. Jika Anda benar-benar perlu memulai pemulihan dari offset yang sangat spesifik, silakan buka masalah. Itu seharusnya tidak sulit untuk diterapkan.

Bisakah Anda berbagi perbedaan tambahan dengan konektor spredfast?

Sekali lagi, konektor S3 tidak dapat menyinkronkan offset konsumen selama pemulihan. Faktanya, tidak ada cara untuk melakukannya dengan andal di versi Kafka saat ini. Berkat kerja @ryannedolan di Mirror Maker 2 akan segera ada cara untuk melakukannya dan kafka-backup menggunakan API itu. Untungnya perubahan ini bahkan kompatibel ke belakang dan akan ada dokumentasi cara menggunakan kafka-backup dengan cara itu segera.

Selain itu, Konektor S3 hanya mendukung S3. Saat ini kafka-backup hanya mendukung pencadangan ke sistem file dan kemudian Anda dapat menggunakan alat apa pun yang Anda inginkan untuk memindahkannya ke tujuan akhir Anda. Saya berencana untuk menambahkan dukungan untuk lebih banyak backend penyimpanan jika diperlukan.

Selain itu, kedua proyek ini secara arsitektur sangat mirip (pada kenyataannya, konektor S3 bersama dengan Mirror Maker 2 menginspirasi kafka-backup )

lingkungan Kafka saya berjalan di Kubernetes. Idealnya saya menginginkan lokasi penyimpanan cadangan/pemulihan di luar cluster saya sehingga saya bisa mendapatkannya kembali jika terjadi kegagalan.

Sejauh yang saya tahu Anda juga menggunakan Strimzi, kami memiliki cadangan yang sama. Saya akan segera menulis posting blog bagaimana melakukan backup penuh Kafka dan (jangan lupa itu!) Zookeeper di Kubernetes dan Strimzi.

lokasi pencadangan ditentukan oleh target.dir , menjadi sulit untuk mengelola jalur pada sebuah node jika lingkungannya adalah Kubernetes.

Cukup pasang volume persisten seperti biasa. Gunakan wadah sespan untuk memindahkannya ke tujuan akhir Anda. Anda bahkan dapat menjaga volume persisten relatif kecil karena Anda dapat menghapus segmen lama dan indeksnya segera setelah selesai. (Dokumentasi akan datang)

Jika Anda menunggu beberapa hari lagi, saya akan menerbitkan posting blog pengantar yang mencakup beberapa topik Anda. Tulis saya email atau minta draft @arashkaffamanesh :wink:

Kontribusi @azapps unik dan luar biasa dan saya kira seluruh komunitas harus membantu untuk mendapatkan Cadangan Kafka yang diusulkan dan diimplementasikan oleh @azapps untuk menjadi bagian standar dari Ekosistem Kafka!

Tidak ada yang sempurna, tetapi implementasi oleh @azapps ini brilian!

Sebagai catatan: Ini dia: https://medium.com/@anatolyz/introducing -kafka-backup-9dc0677ea7ee

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

akamensky picture akamensky  ·  13Komentar

itadventurer picture itadventurer  ·  5Komentar

jay7x picture jay7x  ·  15Komentar

jay7x picture jay7x  ·  16Komentar

huyngopt1994 picture huyngopt1994  ·  5Komentar