Rumah  >  Soal Jawab  >  teks badan

Isu latensi kecil selepas memasukkan/kemas kini menggunakan proxySQL dan MySQL Cluster

Kami menggunakan Kluster MySQL dengan proxySQL dan mempunyai persediaan berikut:

Soalannya begini: Pengguna pada pelayan 2 mencetus KEMASKINI SQL, KEMASKINI nama SET klien= 'Nama Baharu' WHERE id = 123. (Kemas kini ini dihantar ke pelayan 1, kemudian kemas kini pelayan 2)

Dalam blok kod yang sama, jika kami memilih rekod (PILIH nama DARI pelanggan WHERE id =123), pertanyaan akan dihantar ke pelayan tempatan dan hasilnya akan menjadi "nama lama" melainkan kami menjeda kod selama 1 saat ( untuk ujian).

Satu penyelesaian yang kami fikirkan ialah menukar sambungan (PHP) dan pergi terus ke pelayan 1 untuk mendapatkan selebihnya blok kod, tetapi jenis itu mengalahkan tujuan dan jauh daripada ideal (pangkalan kod yang agak besar memerlukan pengemaskinian).

Adakah terdapat penyelesaian yang melibatkan proxySQL?

P粉194919082P粉194919082211 hari yang lalu309

membalas semua(1)saya akan balas

  • P粉122932466

    P粉1229324662024-03-22 16:33:06

    Untuk mengelakkan pertanyaan daripada dihalakan ke pelayan hamba dengan kependaman replikasi yang tinggi, anda boleh menetapkan kependaman replikasi maksimum ambang dalam lajur mysql_server jadual Kelewatan replikasi maksimum. Rujukan: max_replication_lag

    max_replication_lag – Jika lebih daripada 0, ProxySQL akan Pantau kependaman replikasi secara kerap dan sama ada ia melebihi had yang dikonfigurasikan ambang, ia akan mengelakkan hos buat sementara waktu sehingga replikasi mengejar.

    Anda juga boleh membuat peraturan pertanyaan untuk memisahkan bacaan dan penulisan pertanyaan. ref: ProxySQL belah baca/tulis

    Penting: proxysql-gtid-causal-reads Jika anda menggunakan Mysql versi 5.7.5 atau lebih tinggi, ini mungkin menyelesaikan masalah anda.

    balas
    0
  • Batalbalas