Berbagi teknologi

Spring Cloud Alibaba - Penjaga lalu lintas sistem terdistribusi Sentinel

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Masukkan deskripsi gambar di sini

Ringkasan

Ketika layanan mikro menjadi lebih populer, stabilitas antara layanan dan layanan menjadi semakin penting. Sentinel adalah komponen manajemen lalu lintas untuk arsitektur layanan heterogen multi-bahasa yang terdistribusi. Sentinel terutama menggunakan lalu lintas sebagai titik masuk, termasuk perutean lalu lintas, kontrol lalu lintas, pembentukan lalu lintas, degradasi pemutus sirkuit, perlindungan beban berlebih adaptif sistem, perlindungan lalu lintas hot spot, dll. . Dimensi untuk membantu pengembang memastikan stabilitas layanan mikro.

Singkatnya, Sentinel adalah komponen manajemen lalu lintas, yang setara dengan Spring Cloud Circurk Breaker.

fitur

  • Skenario aplikasi yang kaya: Sentinel telah mengambil alih skenario inti promosi lalu lintas Double Eleven Alibaba dalam 10 tahun terakhir, seperti penjualan kilat (yaitu, lalu lintas lonjakan dikontrol dalam kisaran yang dapat ditanggung oleh kapasitas sistem), pencukuran puncak pesan dan pengisian lembah, dan kontrol lalu lintas klaster, penggabungan aplikasi hilir yang tidak tersedia secara real-time, dll.
  • Pemantauan real-time yang lengkap: Sentinel juga menyediakan fungsi pemantauan real-time. Anda dapat melihat data tingkat kedua dari satu mesin yang terhubung ke aplikasi di konsol, dan bahkan ringkasan status operasi dari cluster yang berjumlah kurang dari 500 mesin.
  • Ekosistem open source yang luas: Sentinel menyediakan modul integrasi out-of-the-box dengan framework/library open source lainnya, seperti integrasi dengan Spring Cloud, Apache Dubbo, gRPC, dan Quarkus. Anda hanya perlu memasukkan dependensi yang sesuai dan melakukan konfigurasi sederhana untuk terhubung dengan cepat ke Sentinel. Pada saat yang sama, Sentinel menyediakan implementasi asli dalam berbagai bahasa seperti Java/Go/C.
  • Mekanisme ekstensi SPI lengkap: Sentinel menyediakan antarmuka ekstensi SPI lengkap yang mudah digunakan. Anda dapat dengan cepat menyesuaikan logika dengan mengimplementasikan antarmuka ekstensi. Misalnya, manajemen aturan yang disesuaikan, mengadaptasi sumber data dinamis, dll.

Fitur utama Sentinel:
Masukkan deskripsi gambar di sini

konsep dasar

sumber

Sumber daya adalah konsep kunci di Sentinel. Itu bisa berupa apa saja dalam aplikasi Java, seperti layanan yang disediakan oleh aplikasi tersebut, atau oleh aplikasi lain yang dipanggil oleh aplikasi tersebut, atau bahkan sepotong kode. Dalam dokumentasi berikut, kami akan menggunakan sumber daya untuk menjelaskan blok kode.

Selama kode yang ditentukan melalui Sentinel API adalah sumber daya, kode tersebut dapat dilindungi oleh Sentinel. Dalam kebanyakan kasus, Anda dapat menggunakan tanda tangan metode, URL, atau bahkan nama layanan sebagai nama sumber daya untuk mengidentifikasi sumber daya.

aturan
Aturan yang ditetapkan seputar status sumber daya real-time dapat mencakup aturan kontrol aliran, aturan degradasi pemutus sirkuit, dan aturan perlindungan sistem. Semua aturan dapat disesuaikan secara dinamis dalam waktu nyata. (Aturan dapat diatur di konsol Sentinel, konfigurasi yml, dan kode java)

Instal Penjaga

Penggunaan Sentinel dapat dibagi menjadi dua bagian:

  • Pustaka inti (klien Java): tidak bergantung pada kerangka/perpustakaan apa pun dan dapat dijalankan Jawa 8 ke atasversi lingkungan runtime, dan juga memiliki dukungan yang baik untuk kerangka kerja seperti Dubbo/Spring Cloud.
  • Dasbor: Dasbor terutama bertanggung jawab untuk mengelola aturan push, memantau, dan mengelola informasi mesin.

Jalur pengunduhan:https://github.com/alibaba/Sentinel/releases

Setelah mengunduh, temukan paket jar dan jalankan perintah untuk memulai konsol Sentinel.

java -jar sentinel-dashboard-xxx.jar

Lingkungan lokal harus jdk8 atau lebih tinggi, dan port 8080 tidak ditempati (port konsol Sentinel)
Mulai dari Sentinel 1.6.0, konsol Sentinel memperkenalkan fungsi login dasar. Nama pengguna dan kata sandi default keduanya adalah URL akses: http://localhost:8080
Masukkan deskripsi gambar di sini

Kasus memperkenalkan Sentinel ke dalam layanan mikro

Membuat layanan mikro baru, memperkenalkan Nacos dan Sentinel, mendaftarkan layanan ke Nacos, dan melakukan pemantauan lalu lintas, pemutus sirkuit, dan penurunan versi layanan.

Perkenalkan ketergantungan