Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

konektor mariadb J Aurora Implementasi failover cepat

Berikut adalah beberapa petunjuk:Aurora memiliki banyak contoh. Salah satunya adalah "penulis" (Guru), yang lain adalah "Pembaca" (Budak).

Ketika seorang penulis sedang down, satu budak akan dipromosikan menjadi master baru, budak lain sekarang akan mereplikasi dari master baru ini (reboot otomatis). Jika tuan lama muncul lagi, itu akan menjadi budak.

Aurora memiliki titik akhir DNS untuk cluster seperti "xx.cluster-yy.zz.rds.amazonaws.com" yang mengarah ke master saat ini. Ketika terjadi failover, DNS di-refresh ... tetapi tidak segera.

"Koneksi" ke aurora berarti 2 koneksi mendasar ke instance:satu ke master, satu ke slave. Driver akan menggunakan koneksi yang mendasarinya ke master atau slave menurut Connection.setReadonly().

Setiap kali driver terhubung ke sebuah instance, itu akan memastikan status saat ini memeriksa variabel global "innodb_read_only" (OFF =master).

Instans Aurora dapat ditambahkan, jadi pada koneksi awal, menggunakan titik akhir klaster pengguna, daftar instans saat ini akan diambil menggunakan information_schema.replica_host_status.

Untuk membuat 2 koneksi yang mendasarinya, driver akan terhubung ke host acak, jika ini adalah master saat ini, bagus maka semua host lain adalah budak, jika tidak, driver akan meminta budak master saat ini sehingga koneksi berikutnya akan menghubungkan host menggunakan information_schema. replica_host_status where session_id ='MASTER_SESSION_ID' (lebih dapat diandalkan daripada menggunakan DNS). Jika koneksi ke instance gagal, nama instance ini akan dimasukkan ke dalam daftar hitam untuk jangka waktu tertentu (daftar hitam ini dibagikan per jvm) untuk menghindari penggunaan kembali. Pengemudi mencoba menghubungkan kembali host yang tersedia secara acak sampai tidak ada yang tidak masuk daftar hitam, kemudian dapat mencoba lagi dengan yang masuk daftar hitam untuk beberapa waktu (tergantung pada parameter). Jika koneksi berhasil, maka instance "tidak masuk daftar hitam".

Untuk failover koneksi slave yang mendasarinya, koneksi master kemudian digunakan, dan beberapa kumpulan utas yang mendasarinya kemudian akan mencoba menghubungkan kembali instance slave di latar belakang.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memperbarui dari MYSQL ke MYSQLI

  2. skrip nodejs saya tidak keluar dengan sendirinya setelah eksekusi berhasil

  3. Python:gunakan mysqldb untuk mengimpor tabel MySQL sebagai kamus?

  4. Periksa dua tanggal bukan di antara dua tanggal lain + MYSQl

  5. Apakah MySQL mendukung pewarisan tabel?