Dengan perkembangan pesat Internet dan pengembangan berterusan skala perniagaan, semakin banyak syarikat mula menggunakan seni bina perkhidmatan mikro. Sebagai rangka kerja mikroperkhidmatan yang cemerlang, Spring Cloud bukan sahaja melaksanakan pemisahan dan pengurusan perkhidmatan, tetapi juga menyediakan satu siri penyelesaian yang cekap. Pecahan pangkalan data dan jadual adalah salah satu cara penting untuk memastikan kestabilan dan kebolehskalaan sistem pada masa keselarasan yang tinggi. Artikel ini akan memperkenalkan cara melaksanakan sharding pangkalan data dan jadual di bawah seni bina perkhidmatan mikro Spring Cloud.
1. Prinsip sub-pangkalan data dan sub-jadual
Sebelum melaksanakan sub-pangkalan data dan sub-jadual, mari kita fahami prinsipnya. Apa yang dipanggil sharding pangkalan data dan jadual bermakna data yang asalnya disimpan dalam satu jadual tersebar dan disimpan dalam berbilang pangkalan data atau berbilang jadual. Ini boleh menyebarkan data ke dalam pangkalan data atau jadual yang berbeza, mengelakkan tekanan yang berlebihan pada satu pangkalan data atau jadual, dan meningkatkan kebolehskalaan dan prestasi sistem.
Mari kita lihat cara melaksanakan sub-pangkalan data dan sub-jadual.
Menyebarkan data ke dalam berbilang perpustakaan boleh mengurangkan beban pada satu pangkalan data. Apabila membahagikan pangkalan data, kita perlu menyebarkan data yang berbeza ke dalam pangkalan data yang berbeza, dan pada masa yang sama memastikan ketekalan data, iaitu, semua data disegerakkan dalam beberapa cara.
Agihkan data kepada berbilang jadual untuk mencapai storan teragih bagi data yang sama dan mengurangkan tekanan pada satu jadual. Apabila membahagikan jadual, kita perlu menyebarkan data yang sama ke dalam jadual yang berbeza sambil memastikan perkaitan data.
2. Laksanakan sub-pangkalan data dan sub-jadual
Dalam rangka kerja mikro perkhidmatan Spring Cloud, kami boleh melaksanakan sub-pangkalan data dan sub-jadual melalui penghalaan pangkalan data, perisian tengah data dan Sharding-JDBC.
Penghalaan pangkalan data biasanya mengarahkan data ke pangkalan data yang berbeza berdasarkan peraturan perniagaan. Kaedah pelaksanaan ini agak mudah, tetapi ia tidak dapat mencapai penskalaan data yang dinamik. Di samping itu, disebabkan keperluan untuk penghalaan data pada lapisan aplikasi, kehilangan prestasi tertentu akan berlaku.
Perisian tengah data secara amnya melaksanakan penghalaan data dan pengimbangan beban pada lapisan atas pangkalan data. Di samping itu, perisian tengah data juga boleh mencapai storan teragih dan ketersediaan data yang tinggi. Walau bagaimanapun, perisian tengah data memerlukan sokongan perkakasan dan perisian tambahan, dan isu kebolehskalaan dan kos perlu dipertimbangkan.
Sharding-JDBC ialah rangka kerja Java ringan yang direka untuk menyediakan serpihan pustaka dan jadual yang telus. Ia melaksanakan penggolongan pangkalan data dan jadual dengan menyediakan satu set ejen sumber data dan beberapa konfigurasi peraturan. Apabila menggunakan Sharding-JDBC, kami hanya perlu mengubah suai konfigurasi sumber data asal dan tidak perlu menukar bahagian kod yang mengendalikan pangkalan data. Dengan cara ini, sub-pangkalan data dan fungsi jadual telus boleh dicapai.
3. Gunakan Sharding-JDBC untuk melaksanakan sharding pangkalan data dan jadual
Mari kita ambil seni bina perkhidmatan mikro ringkas sebagai contoh untuk memperkenalkan cara menggunakan Sharding-JDBC untuk melaksanakan sharding pangkalan data dan jadual.
Mula-mula kita perlu mencipta dua pangkalan data, db1 dan db2, dan mencipta dua pengguna jadual dan susunan dalam dua pangkalan data ini.
Menyepadukan Sharding-JDBC dalam projek Spring Boot adalah sangat mudah, cuma tambahkan kebergantungan Sharding-JDBC dalam pom.xml. Pada masa yang sama, kami juga perlu menambah konfigurasi berkaitan Sharding-JDBC dalam fail konfigurasi.
Dalam Sharding-JDBC, kita boleh merealisasikan fungsi sharding dengan mengkonfigurasi peraturan sharding dan peraturan sharding.
Peraturan sub-pangkalan data terutamanya menyebarkan data ke dalam pangkalan data yang berbeza berdasarkan peraturan perniagaan. Apabila melaksanakan peraturan sharding, kita perlu memberi perhatian kepada perkara berikut:
(1) Sharding-JDBC boleh menyokong berbilang sumber data dan kita perlu mengkonfigurasi sumber data untuk setiap sumber data.
(2) Kita perlu mentakrifkan kelas strategi sharding standard untuk menentukan strategi pemilihan sumber data.
(3) Kita perlu mentakrifkan kelas peraturan sharding untuk menentukan atribut utama sumber data dan bilangan shard.
Peraturan jadual pembahagian terutamanya mengedarkan data yang sama ke dalam jadual yang berbeza. Apabila melaksanakan peraturan pembahagian jadual, kita perlu memberi perhatian kepada perkara berikut:
(1) Berbilang jadual fizikal perlu dikonfigurasikan untuk setiap jadual logik.
(2) Kita perlu mentakrifkan kelas strategi pembahagian jadual standard untuk menentukan strategi pemilihan jadual data.
(3) Kita perlu mentakrifkan kelas peraturan jadual untuk menentukan atribut utama jadual data.
4. Ringkasan
Sub-pangkalan data dan serpihan jadual adalah salah satu cara penting untuk memastikan kestabilan dan kebolehskalaan sistem dalam masa yang tinggi. Di bawah seni bina perkhidmatan mikro Spring Cloud, kami boleh melaksanakan pembahagian pangkalan data dan jadual melalui penghalaan pangkalan data, perisian tengah data dan Sharding-JDBC. Antaranya, Sharding-JDBC ialah rangka kerja Java ringan yang direka untuk menyediakan pecahan telus bagi pangkalan data dan jadual. Sharding-JDBC boleh digunakan untuk melaksanakan sharding pangkalan data dan jadual dengan mudah dan cekap, meningkatkan kebolehskalaan dan prestasi sistem.
Atas ialah kandungan terperinci Pelaksanaan praktikal sub-perpustakaan dan sub-jadual perkhidmatan mikro Spring Cloud. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!