Tempah Konsultasi Hantar Tiket

Memastikan Kebolehpercayaan Middleware: Panduan Praktikal untuk Redis, RabbitMQ, dan Kafka

Gangguan pengeluaran sering berpunca daripada middleware yang salah konfigurasi atau terlebih muatan. Panduan ini merangkumi senario sebenar, arahan diagnostik, dan prosedur undur untuk Redis, RabbitMQ, dan Kafka, dengan pertimbangan penggunaan Kubernetes.

Memastikan Kebolehpercayaan Middleware: Panduan Praktikal untuk Redis, RabbitMQ, dan Kafka
NoSQL 6min 67 paparan 2026-07-02
KubernetesSRERedisRabbitMQKafka

Senario

Anda seorang SRE yang bertugas. Platform e-dagang pasukan anda mengalami kelewatan pemprosesan pesanan semasa jualan kilat. Seni bina menggunakan Redis untuk cache sesi, RabbitMQ untuk barisan pesanan, dan Kafka untuk strim acara. Selepas peristiwa penskalaan baru-baru ini, lonjakan latensi berlaku.

Gejala

  • Redis: Latensi meningkat > 100ms, CPU tinggi, pengusiran.
  • RabbitMQ: Kedalaman barisan bertambah, pengguna melahu, amaran cakera.
  • Kafka: Ketinggalan pengguna meningkat, CPU broker tinggi, replikasi partition kurang.

Diagnosis

Redis

  • redis-cli info stats periksa evicted_keys.
  • redis-cli slowlog get untuk arahan perlahan.
  • redis-cli client list untuk sambungan.
  • Gunakan memory doctor jika OOM.

RabbitMQ

  • rabbitmqctl list_queues name messages consumers memory.
  • Periksa amaran cakera dan memori melalui rabbitmqctl status.
  • Dayakan log surih jika perlu.

Kafka

  • kafka-consumer-groups --bootstrap-server <server> --describe --group <group> untuk ketinggalan.
  • kafka-topics --describe --under-replicated-partitions.
  • Periksa log broker dan metrik JMX.

Arahan (dengan nota keselamatan)

Redis

  • Untuk membersihkan arahan perlahan, pertimbangkan skala replika baca atau optimumkan struktur data. Gunakan CLIENT KILL dengan berhati-hati.

RabbitMQ

  • Untuk membuka ikatan barisan sementara: rabbitmqctl set_policy untuk menghadkan panjang barisan atau rabbitmqadmin delete queue dengan berhati-hati. Gunakan rabbitmqctl set_disk_free_limit untuk melaraskan amaran.

Kafka

  • Untuk menyekat pengguna: tingkatkan partition atau gunakan pengimbangan semula kumpulan pengguna. Untuk partition panas, kafka-reassign-partitions.sh. Jangan padam topik tanpa sandaran.

Kawalan Risiko

  • Sentiasa ambil gambar RDB/AOF Redis sebelum perubahan.
  • Untuk RabbitMQ, sandarkan definisi dengan rabbitmqadmin export.
  • Untuk Kafka, sandarkan offset dan konfigurasi topik. Gunakan kesedaran rak.

Prosedur Undur

Redis

  • Pulihkan daripada sandaran RDB atau AOF. Pastikan tiada tulis belum selesai hilang.

RabbitMQ

  • Import semula definisi, kosongkan barisan jika perlu.

Kafka

  • Tetapkan semula offset kumpulan pengguna melalui kafka-consumer-groups --reset-offsets. Untuk kehilangan data, main semula dari yang terakhir komited.

Pengesahan

  • Redis: redis-benchmark uji latensi. Pantau pengusiran dan hits/misses.
  • RabbitMQ: Terbitkan mesej ujian, sahkan kadar penggunaan.
  • Kafka: Hasilkan dan guna rekod ujian, periksa ketinggalan berkurang.

Bila perlu hantar tiket OpsGlobal

  • Jika punca utama tidak jelas selepas pemeriksaan.
  • Jika kehilangan data berlaku atau risiko kehilangan data.
  • Jika pod Kubernetes but semula atau isu volum berterusan berterusan.
  • Jika anda memerlukan bantuan dengan penalaan halus konfigurasi atau pengerasan keselamatan.

Senario Penggunaan

Sesuai untuk pasukan yang menyelesaikan isu NoSQL dan memerlukan aliran kerja yang jelas.

Latar Belakang Masalah

Gangguan pengeluaran sering berpunca daripada middleware yang salah konfigurasi atau terlebih muatan. Panduan ini merangkumi senario sebenar, arahan diagnostik, dan prosedur undur untuk Redis, RabbitMQ, dan Kafka, dengan pertimbangan penggunaan Kubernetes.

Langkah Penyelesaian

Sahkan impak dan perubahan terkini, kumpul log, konfigurasi dan metrik, kemudian baiki mengikut risiko.

Contoh Arahan

Gantikan contoh dengan nama sumber sebenar dan simpan kata laluan, token atau kunci dalam pembolehubah persekitaran.

Risiko

Sebelum operasi produksi, semak sandaran, akses, tetingkap perubahan dan pelan rollback.

Pelan Rollback

Simpan konfigurasi dan versi asal; rollback konfigurasi, imej atau perubahan pangkalan data jika metrik tidak normal.

Senarai Serahan

Rekod punca isu, arahan penting, langkah pembaikan, hasil pengesahan dan cadangan susulan.

!

Perlu bantuan isu teknikal serupa?

Jika pelayan, Kubernetes, Docker, CI/CD, pangkalan data atau pemantauan anda bermasalah, hantar log dan konfigurasi untuk diagnosis jauh.

Tiket Hubungi WhatsApp Konsultasi