- Snapshots (Cadangan)
- Menelusuri
- Fitur baru untuk klien kecil
- Mode operasi cluster "Hanya baca"
- Menjalankan kode khusus di kotak pasir
- Enkripsi data transparan: rotasi kunci master
- Alat untuk mengganggu tugas dan permintaan pengguna
- Caching sisi platform (.NET)
- Menghubungkan node klien ke node server melalui NAT
Snapshots (Cadangan)
Di Ignite 2.9.0, dimungkinkan untuk membuat salinan cadangan dari semua cache yang disimpan di disk (yaitu, cache yang beroperasi dalam mode Ignite Native Persistence ) dari seluruh cluster. Snapshot dapat dibuat secara online, pada cluster aktif dengan beban pengguna. Ini membuat salinan yang sepenuhnya konsisten dari semua data cluster.
Anda dapat mulai membuat cadangan dengan salah satu cara berikut:
- menggunakan utilitas baris perintah control.sh:
control.sh --snapshot create <snapshot name>; - JMX operasi:
MBean group="Snapshot", name=SnapshotMXBeanImpl, createSnapshot(<snapshot name>); - API melalui Java:
Ignite.snapshot().createSnapshot("<snapshot name>").
Di mana
<snapshot name>nama unik snapshot tersebut.
Setelah pembuatan snapshot selesai, di direktori
work/snapshots/<snapshot name>(dengan pengaturan default) setiap node, struktur penyimpanan file node ini pada saat snapshot dimulai akan dibuat ulang. Struktur file yang dihasilkan dapat digunakan di masa mendatang untuk memulihkan dari salinan cadangan dengan mengganti file dengan data node dengan file dari direktori snapshot.
Anda dapat menemukan informasi lebih rinci tentang bekerja dengan snapshot di dokumentasi resmi .
Menelusuri
Sistem pemantauan Ignite terus meningkat, dan salah satu inovasi penting dalam rilis 2.9 adalah subsistem pelacakan. Pelacakan memungkinkan Anda memperoleh informasi yang berguna untuk debugging pada tahap pengembangan dan untuk menganalisis insiden. Dengan bantuan pelacakan, menjadi mungkin untuk mengumpulkan informasi tingkat rendah yang didistribusikan tentang kemajuan berbagai tugas yang berjalan di cluster, dan menggunakan informasi ini untuk mendiagnosis masalah kinerja. Jejak yang menunjukkan jalur tugas dalam sistem dibentuk dalam bentuk pohon, setiap tingkat berikutnya memberikan informasi yang lebih detail daripada yang sebelumnya.
Di Ignite 2.9.0, penelusuran mencakup komponen internal berikut:
- Pesan penemuan;
- Pesan komunikasi
- Proses pertukaran;
- transaksi.
Untuk melihat jejak, jejak tersebut harus diekspor ke sistem eksternal. Untuk tujuan ini, Ignite menggunakan pustaka OpenCensus, yang menyediakan beberapa eksportir ke berbagai sistem (misalnya, di Zipkin).
Anda dapat membatasi jumlah informasi yang diekspor dengan menyetel satu atau lebih komponen di atas sebagai cakupan dan menyetel frekuensi pengambilan sampel (setelan tersedia untuk diubah saat runtime).
Anda dapat menemukan informasi lebih rinci tentang penelusuran di dokumentasi resmi .
Fitur baru untuk klien kecil
Klien tipis java dan .NET sekarang memiliki fungsionalitas Ignite yang sebelumnya hanya tersedia di klien tebal.
Kemampuan untuk menggunakan:
- cluster API & cluster group API ( .NET java):
- ;
- ;
- , ;
- ;
- compute API ( .NET java):
- . , p2p class loader , class-path ( );
- Service Grid ( java):
- Ignite. compute API, , .
Selain itu, thin client .NET telah menerima fitur Penemuan Node Server Otomatis, yang diaktifkan sehubungan dengan fungsionalitas kesadaran partisi. Saat menggunakan "kesadaran partisi", klien membuat koneksi tidak dengan satu node server, tetapi dengan beberapa sekaligus, agar, jika memungkinkan, untuk mengirim permintaan ke node yang merupakan node utama untuk data dalam permintaan ini. Pada saat yang sama, penemuan otomatis node cluster memungkinkan untuk tidak mencantumkan semua alamat node cluster dalam konfigurasi klien. Klien dapat terhubung ke setidaknya satu host langsung menggunakan alamat yang tercantum dalam konfigurasi sudah cukup. Klien akan menerima alamat node yang tersisa dari cluster.
Untuk informasi lebih lanjut tentang cara menggunakan fitur-fitur baru, lihat subbagian terkait dari klien tipis java dan dokumentasi klien tipis .NET .
Mode operasi cluster "Hanya baca"
Sebelum rilis 2.9.0, Ignite hanya memiliki dua status cluster: cluster bisa jadi tidak aktif (node ββdikumpulkan dalam topologi, tetapi tindakan apa pun dengan cache dilarang), atau aktif (tindakan apa pun diizinkan). Dalam rilis 2.9.0, status cluster baru ditambahkan - "hanya-baca". Ini akan berguna untuk melakukan beberapa pekerjaan pemeliharaan (misalnya, memeriksa integritas data).
Anda dapat menemukan informasi lebih rinci tentang status cluster di dokumentasi resmi .
Menjalankan kode khusus di kotak pasir
Ignite dapat menjalankan kode kustom (seperti tugas komputasi, event listener, berbagai filter) pada node server. Kode tersebut dijalankan dengan hak yang sama dengan kode sistem Ignite dan seluruh API java tersedia untuk itu tanpa batasan. Kode yang berpotensi tidak aman dapat mengganggu kinerja cluster (misalnya, menghapus file data Ignite, menghentikan JVM, dll.).
Dalam versi 2.9.0, menjadi mungkin untuk mengeksekusi kode tersebut di "kotak pasir" dengan hak yang secara eksplisit ditetapkan ke subjek akses yang meminta eksekusi kode ini (misalnya, node klien). Hak yang diberikan ke pengakses adalah kumpulan objek kelas
java.security.Permissionyang diperiksa oleh java sebelum melakukan beberapa tindakan.
Agar Ignite Sandbox berfungsi, dua komponen harus dipasang dan diaktifkan:
- Manajer keamanan Java. Bertanggung jawab untuk memberi otorisasi subjek saat melakukan panggilan ke perpustakaan java sistem. Dinonaktifkan secara default;
- Nyalakan prosesor keamanan. Bertanggung jawab untuk mengautentikasi subjek akses. "Di luar kotak" dengan Ignite tidak disediakan, membutuhkan implementasi independen dan koneksi menggunakan plugin.
Anda dapat menemukan informasi lebih detail tentang Ignite Sandbox di dokumentasi resmi .
Enkripsi data transparan: rotasi kunci master
Enkripsi data transparan (TDE) adalah fungsionalitas yang memungkinkan Anda untuk tidak menyimpan data pada disk dalam teks yang jelas. Mengenkripsi data pada disk menggunakan DBMS diperlukan, misalnya, untuk sertifikasi keamanan data PCI DSS. Di Apache Ignite, fungsionalitas TDE dasar (Fase 1) diimplementasikan di versi 2.7. Dalam versi saat ini, fase kedua TDE telah diterapkan - rotasi kunci master (kunci cache yang disimpan pada disk dienkripsi dengan kunci master). Fase ketiga TDE (rotasi kunci cache) akan diterapkan di rilis berikutnya.
Anda dapat menemukan informasi lebih rinci tentang rotasi kunci master di dokumentasi resmi .
Alat untuk mengganggu tugas dan permintaan pengguna
Versi Ignite sebelumnya tidak memiliki mekanisme yang konsisten untuk mengganggu tugas dan permintaan pengguna oleh administrator. Pengguna memiliki opsi untuk membatalkan tugas dan permintaan mereka. Untuk administrator, tersedia alat terpisah yang tidak berkorelasi satu sama lain (misalnya, dimungkinkan untuk membatalkan transaksi berdasarkan daftar, memfilter, melalui JMX atau utilitas control.sh, dan "mematikan" kueri SQL menggunakan perintah SQL
KILL QUERY). Dalam rilis saat ini, administrator memiliki kemampuan untuk melakukan interupsi
- berbagai jenis kueri (SQL, pemindaian, kontinu),
- transaksi,
- menghitung tugas,
- Layanan Ignite,
menggunakan antarmuka terpadu.
Semua jenis tugas dan permintaan ini dapat diinterupsi oleh salah satu metode berikut:
- utilitas control.sh;
- melalui JMX;
- Perintah SQL.
Untuk informasi lebih lanjut tentang mengganggu tugas dan permintaan pengguna, lihat dokumentasi resmi .
Caching sisi platform (.NET)
Ignite.NET menambahkan kemampuan untuk menggunakan lapisan caching tambahan di sisi platform .NET. Data dalam memori .NET di lapisan ini disimpan dalam bentuk deserialisasi, sehingga Anda dapat membaca data yang telah di-cache tanpa panggilan dan deserialisasi JNI tambahan. Ini secara signifikan meningkatkan kecepatan pembacaan non-transaksional.
Untuk informasi lebih lanjut tentang cache sisi platform, lihat dokumentasi resmi .
Menghubungkan node klien ke node server melalui NAT
Dalam Ignite 2.9.0, mode interaksi jaringan muncul, di mana koneksi antara klien "gemuk" dan server dimulai hanya di sisi klien (server tidak memulai koneksi ke klien, tetapi, jika diperlukan interaksi langsung dengan klien, ia meminta klien untuk terhubung dengannya melalui yang sudah ada koneksi klien ke server lain). Mode operasi ini memungkinkan penggunaan konfigurasi cluster di mana NAT terletak antara node klien dan server (misalnya, saat klien berjalan di lingkungan virtual).
Anda dapat menemukan informasi lebih detail tentang menghubungkan node klien melalui NAT di dokumentasi resmi .
Kesimpulan
Di atas adalah perubahan paling signifikan dalam rilis Apache Ignite 2.9.0. Tetapi daftar perubahan tidak terbatas pada mereka. Seperti biasa, kami telah memperbaiki banyak bug dan membuat banyak perbaikan berguna lainnya. Daftar lengkap perubahan dapat ditemukan di catatan rilis .