Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka) · Pelajaran

Metrik Kafka (JMX) dan Pemeriksaan Kesihatan

Fahami metrik utama broker dan klien Kafka yang didedahkan melalui JMX serta cara menjalankan pemeriksaan kesihatan untuk aplikasi Spring Boot anda.

Pelajaran 1 daripada 411 langkah

Metrik Kafka (JMX) dan Pemeriksaan Kesihatan ialah pelajaran Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka) percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka), dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka) merangkumi sejumlah 4 pelajaran.

Mengapa Memantau Kafka dan Aplikasi?

Dalam sistem dipacu peristiwa yang menggunakan Kafka, memahami kesihatan dan prestasi broker serta aplikasi anda amat penting. Pemantauan membantu anda mengesan isu lebih awal, mengoptimumkan penggunaan sumber dan memastikan pemprosesan mesej yang boleh dipercayai.

Tanpa pemantauan yang betul, anda akan beroperasi tanpa gambaran yang jelas tentang kemungkinan kesesakan, gangguan atau risiko kehilangan data. Keadaannya seperti memandu kereta tanpa papan pemuka!

Memperkenalkan JMX untuk Aplikasi Java

JMX ialah singkatan bagi Sambungan Pengurusan Java. JMX ialah teknologi standard untuk memantau dan mengurus aplikasi Java. Kafka, sebagai aplikasi Java, mendedahkan banyak data operasi melalui JMX.

JMX menggunakan objek yang dipanggil bean terurus untuk mendedahkan atribut (data) dan operasi (tindakan) sesebuah aplikasi. Bean terurus ini memberikan gambaran tentang segala-galanya, daripada penggunaan memori hingga metrik khusus Kafka.

Metrik JMX Utama Broker Kafka

Broker Kafka mendedahkan banyak metrik JMX yang penting untuk pemantauan. Berikut ialah beberapa contoh:

  • MessagesInPerSec: Kadar mesej yang dihasilkan kepada topik pada broker.
  • BytesInPerSec/BytesOutPerSec: Kadar pemprosesan rangkaian untuk data masuk dan keluar.
  • RequestPerSec: Kadar permintaan penghasilan, pengambilan atau permintaan lain yang dikendalikan oleh broker.
  • ActiveControllerCount: Menunjukkan broker yang menjadi pengawal kelompok (sepatutnya 1).

Pemantauan ini membantu anda memahami beban, penggunaan rangkaian dan kestabilan kelompok.

Mengakses Metrik JMX

Anda boleh mengakses metrik JMX melalui beberapa cara:

  • JConsole/JVisualVM: Alat GUI yang disertakan bersama JDK dan bersambung kepada proses Java yang sedang berjalan.
  • Pengeksport JMX Prometheus: Ejen popular yang mengambil metrik JMX dan mendedahkannya dalam format yang serasi dengan Prometheus.
  • Akses Secara Program: Menggunakan kod Java untuk bersambung kepada MBeanServer dan membuat pertanyaan kepada MBean secara langsung.

Untuk pemantauan berskala besar, penyepaduan dengan alat seperti Prometheus dan Grafana adalah perkara biasa, yang akan kita bincangkan kemudian!

Kesihatan Actuator Spring Boot

Bagi aplikasi Spring Boot, Actuator menyediakan ciri yang sedia digunakan dalam pengeluaran, termasuk titik akhir semakan kesihatan yang berkuasa. Titik akhir utama ialah /actuator/health.

Titik akhir ini mengagregatkan status kesihatan pelbagai komponen dalam aplikasi anda, termasuk sambungan pangkalan data, ruang cakera dan, yang paling penting, kebergantungan luaran seperti Kafka.

Mendayakan Titik Akhir Actuator

Untuk mendedahkan titik akhir Actuator, anda perlu menambahkan kebergantungan spring-boot-starter-actuator dan mengkonfigurasikan application.properties anda:

  • management.endpoints.web.exposure.include=*: Mendedahkan semua titik akhir Actuator melalui HTTP.
  • management.endpoint.health.show-details=always: Memaparkan butiran kesihatan penuh, bukan sekadar status UP/DOWN.

Dengan ini, anda boleh membuat pertanyaan kepada http://localhost:8080/actuator/health (atau port app anda) untuk melihat kesihatan yang telah diagregatkan.

Membina Semakan Kesihatan Tersuai

Walaupun Actuator menyediakan semakan kesihatan terbina dalam, anda sering memerlukan semakan tersuai untuk logik aplikasi tertentu atau kebergantungan luaran yang unik. Bagi app yang disepadukan dengan Kafka, semakan kesihatan tersuai boleh mengesahkan kesambungan Kafka yang aktif.

Anda boleh mencipta semakan kesihatan tersuai dengan melaksanakan antara muka HealthIndicator Spring Boot. Ini memberi anda kawalan tepat terhadap maksud 'sihat' bagi penyepaduan Kafka aplikasi anda.

Semakan Kesihatan Kafka Tersuai

Contoh Spring Boot ini menunjukkan HealthIndicator tersuai yang menyemak sama ada bean KafkaTemplate tersedia, yang membayangkan konfigurasi Kafka berjaya dan kesambungan berpotensi.

Kebergantungan: Tambahkan spring-boot-starter-web, spring-boot-starter-actuator dan spring-kafka kepada kebergantungan projek anda.

application.properties:

  • spring.kafka.bootstrap-servers=localhost:9092
  • management.endpoints.web.exposure.include=*
  • management.endpoint.health.show-details=always

Jalankan aplikasi ini dan lawati http://localhost:8080/actuator/health untuk melihat statusnya, termasuk semakan Kafka.

package com.coddykit.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.actuate.health.Health;
import org.springframework.boot.actuate.health.HealthIndicator;
import org.springframework.context.annotation.Bean;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.beans.factory.annotation.Autowired;

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    /**
     * Custom HealthIndicator to check Kafka connectivity.
     * It checks if a KafkaTemplate bean could be successfully created.
     * In a real application, consider using KafkaAdminClient
     * for more robust connectivity checks (e.g., listing topics).
     */
    @Bean
    public HealthIndicator kafkaConnectivityHealthIndicator(
            @Autowired(required = false) KafkaTemplate<String, String> kafkaTemplate) {
        return () -> {
            if (kafkaTemplate != null) {
                // If KafkaTemplate is available, assume Kafka is reachable.
                return Health.up()
                    .withDetail("service", "Kafka Broker")
                    .withDetail("status", "KafkaTemplate available")
                    .build();
            } else {
                // If KafkaTemplate is null, Kafka might not be configured or reachable.
                return Health.down()
                    .withDetail("service", "Kafka Broker")
                    .withDetail("error", "KafkaTemplate bean not found/failed to create")
                    .build();
            }
        };
    }
}

Memahami Titik Akhir Kesihatan

Apabila anda mengakses /actuator/health, anda akan melihat respons JSON. Medan status peringkat teratas menunjukkan kesihatan keseluruhan (contohnya, UP atau DOWN).

Di bawahnya, medan components memberikan status terperinci bagi setiap penunjuk kesihatan yang dikonfigurasikan, termasuk penunjuk terbina dalam (seperti ruang cakera) dan semakan Kafka tersuai anda. Anda akan melihat status UP atau DOWN bagi setiap komponen bersama sebarang butiran tersuai yang anda tambahkan.

Uji Pengetahuan Anda

Mari kita uji pemahaman anda tentang pemantauan aplikasi Kafka dan Spring Boot.

Ringkasan Pelajaran dan Seterusnya

Tahniah! Anda telah mempelajari kepentingan pemantauan, cara JMX memberikan gambaran mendalam tentang broker Kafka dan cara Spring Boot Actuator mendayakan semakan kesihatan yang kukuh untuk aplikasi anda.

Secara khususnya, kini anda memahami cara mendedahkan titik akhir Actuator dan melaksanakan HealthIndicator tersuai untuk mengesahkan kesambungan kepada perkhidmatan penting seperti Kafka.

Seterusnya, kita akan meneroka penyepaduan metrik ini dengan alat visualisasi berkuasa seperti Prometheus dan Grafana untuk papan pemuka yang menyeluruh!

Percuma untuk bermula

Pelajari Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka) dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Metrik Kafka (JMX) dan Pemeriksaan Kesihatan” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka), termasuk “Metrik Kafka (JMX) dan Pemeriksaan Kesihatan”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka) merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Metrik Kafka (JMX) dan Pemeriksaan Kesihatan”?

Fahami metrik utama broker dan klien Kafka yang didedahkan melalui JMX serta cara menjalankan pemeriksaan kesihatan untuk aplikasi Spring Boot anda. Anda berlatih Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka) menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka)?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka) di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Metrik Kafka (JMX) dan Pemeriksaan Kesihatan” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka) ini?

Ya. Setiap pelajaran Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka) menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Metrik Kafka (JMX) dan Pemeriksaan Kesihatan
  2. Mengintegrasikan dengan Prometheus & Grafana
  3. Penjejakan Teragih dengan Sleuth/Zipkin
  4. Memantau Ketinggalan Pengguna dan Menetapkan Amaran
← Kembali ke Spring Boot 4 Lanjutan: Seni Bina Dipacu Peristiwa (Kafka)