Pengamat Bintang Seiring Waktu | Kontributor Seiring Waktu |
---|---|
GitHub: opengoofy/hippo4j
Gitee: opengoofy/hippo4j
Untuk dokumentasi lengkap & detail lebih lanjut, kunjungi: Dokumen
Thread pool adalah alat untuk mengelola thread berdasarkan ide pooling. Menggunakan thread pool dapat mengurangi biaya pembuatan dan penghancuran thread serta menghindari kehabisan sumber daya sistem yang disebabkan oleh terlalu banyak thread. Dalam skenario pemrosesan tugas dengan konkurensi tinggi dan volume besar, penggunaan kumpulan thread sangat penting.
Jika Anda benar-benar menggunakan kumpulan thread di proyek Anda, saya yakin Anda mungkin mengalami masalah berikut:
Kumpulan thread ditentukan secara sewenang-wenang dan terdapat terlalu banyak sumber daya thread, menyebabkan beban tinggi di server.
Parameter kumpulan thread sulit untuk dievaluasi. Saat konkurensi bisnis meningkat, bisnis menghadapi risiko kegagalan.
Waktu eksekusi tugas kumpulan thread melebihi siklus eksekusi rata-rata dan tidak terlihat oleh pengembang.
Akumulasi tugas kumpulan thread memicu kebijakan penolakan dan memengaruhi operasi normal bisnis yang ada.
Ketika masalah seperti waktu habis dan pemutus sirkuit terjadi dalam bisnis, tidak mungkin untuk menentukan apakah masalah tersebut disebabkan oleh kumpulan thread karena tidak ada pemantauan.
Kumpulan thread asli tidak mendukung transfer variabel runtime. Misalnya, konteks MDC akan GG ketika bertemu dengan kumpulan thread.
Tidak dapat melakukan pematian yang baik, sejumlah besar tugas kumpulan thread yang sedang berjalan dibuang saat proyek ditutup.
Saat kumpulan thread berjalan, eksekusi tugas dihentikan. Diduga telah terjadi kebuntuan atau operasi yang memakan waktu telah dilakukan, namun tidak ada cara untuk memulai.
Memberikan dukungan untuk fungsi-fungsi berikut:
Kontrol Global - Kelola instance kumpulan thread aplikasi.
Perubahan dinamis - Mengubah parameter kumpulan thread secara dinamis saat aplikasi berjalan, termasuk namun tidak terbatas pada: inti, jumlah maksimum thread, kapasitas antrian pemblokiran, kebijakan penolakan, dll.
Alarm pemberitahuan - empat strategi pemberitahuan alarm bawaan, aktivitas kumpulan benang, ketinggian air kapasitas, strategi penolakan, dan waktu pelaksanaan tugas terlalu lama.
Pengumpulan data - mendukung berbagai cara untuk mengumpulkan data kumpulan thread, termasuk namun tidak terbatas pada: log, koleksi bawaan, Prometheus, InfluxDB, ElasticSearch, dll.
Jalankan pemantauan - Melihat data runtime kumpulan thread secara real-time, dan menampilkan data runtime kumpulan thread dalam bagan dalam waktu yang disesuaikan.
Perluasan fungsi - mendukung konteks pengiriman tugas kumpulan thread ketika proyek ditutup, mendukung menunggu kumpulan thread menyelesaikan tugas dalam waktu yang ditentukan.
Beberapa mode - Dua mode penggunaan bawaan: ketergantungan pada pusat konfigurasi dan tidak ada ketergantungan middleware.
Manajemen kontainer - Tampilan runtime kumpulan thread kontainer Tomcat, Jetty, Undertow dan perubahan nomor thread.
Adaptasi kerangka kerja - Dubbo, Hystrix, RabbitMQ, RocketMQ dan tampilan data runtime kumpulan thread konsumen lainnya dan perubahan nomor thread.
Tinjauan perubahan - Menyediakan berbagai peran pengguna. Perubahan parameter kumpulan thread oleh pengguna biasa memerlukan tinjauan pengguna Admin sebelum dapat diterapkan.
Plug-in dinamis - plug-in kumpulan beberapa thread bawaan, mendukung plug-in yang ditentukan pengguna dan ekstensi runtime.
Adaptasi multi-versi - Setelah pengujian sebenarnya, klien SpringBoot 1.5.x => versi 2.7.5 telah didukung (versi yang lebih tinggi belum diuji).
Untuk tujuan demonstrasi lokal, lihat Mulai cepat
Lingkungan demo: http://console.hippo4j.cn/index.html
Lebih banyak perusahaan yang terhubung dipersilakan untuk mendaftar di alamat pendaftaran. Pendaftaran hanya untuk promosi produk.
Open source itu tidak mudah, klik Bintang di pojok kanan atas untuk mendorongnya!
Jika Anda ingin mengikuti artikel terbaru Hippo4j dan berbagi informasi secara real time, Anda dapat mengikuti akun resmi saya.
Jika Anda memiliki pertanyaan selama penggunaan, atau memiliki saran untuk proyek ini, ikuti akun resminya dan balas: Bergabunglah dengan grup untuk berkomunikasi dan berdiskusi dengan 1000+
teman yang berpikiran sama.
Jika perusahaan Anda tidak menggunakan skenario Hippo4j, saya juga merekomendasikan membaca prinsip-prinsip dasar proyek ini, terutama karena alasan berikut:
Untuk meningkatkan kualitas kode dan perilaku ekspansi selanjutnya, beberapa pola desain digunakan untuk mencapai kohesi tinggi dan kopling rendah.
Lapisan bawah kerangka kerja bergantung pada kerangka Spring untuk dijalankan, dan menggunakan sejumlah besar fungsi terkait Spring dalam kode sumber.
Gunakan berbagai alat di bawah paket konkurensi JUC untuk memastikan keamanan operasi multi-thread, dan memahami pemrograman bersamaan melalui skenario aktual.
Belajar dari kerangka kerja sumber terbuka utama Nacos dan Eureka untuk mengimplementasikan fungsi pusat konfigurasi dan pusat registrasi yang ringan.
Sesuaikan implementasi kerangka RPC dan enkapsulasi Netty untuk menyelesaikan optimalisasi komunikasi jaringan klien/server.
Standarisasi penulisan kode melalui plug-in seperti CheckStyle dan Spotless untuk memastikan perilaku kode dan gaya kode berkualitas tinggi.
[Sa-Token]: Kerangka otentikasi otoritas java ringan yang membuat otentikasi sederhana dan elegan!
[HertzBeat]: Sistem pemantauan cloud yang mudah digunakan dan ramah, tidak memerlukan Agen, kemampuan pemantauan khusus yang kuat.
[JavaGuide]: Panduan yang mencakup pengetahuan inti yang perlu dikuasai sebagian besar pemrogram Java.
[ toBetterJavaer ]: Panduan belajar Java yang mudah dipahami dan lucu.
[Jpom]: Konstruksi online yang sederhana dan ringan dan tidak mengganggu, penerapan otomatis, pengoperasian dan pemeliharaan harian, serta perangkat lunak pemantauan proyek.
[12306]: Pengguna 12306 imitasi tinggi + pengambilan tiket + pesanan + layanan pembayaran lengkap untuk membantu siswa fokus pada proyek pekerjaan.
[CongoMall]: Mal tingkat perusahaan, dikembangkan berdasarkan model berbasis domain DDD, termasuk bisnis mal dan infrastruktur.
Terima kasih kepada semua pengembang yang berkontribusi pada proyek ini. Jika Anda tertarik untuk berkontribusi, silakan lihat edisi pertama yang bagus.
Komunitas Hippo4j telah menerima banyak lisensi dari Jetbrains dan telah menugaskan pengembang aktif untuk proyek ini. Kami sangat berterima kasih kepada Jetbrains atas dukungannya terhadap komunitas open source.