Rumah pangkalan data tutorial mysql Bagaimanakah mysql memastikan susunan mesej?

Bagaimanakah mysql memastikan susunan mesej?

May 29, 2023 pm 10:55 PM
mysql

Biar saya berikan anda satu contoh Kami telah membina sistem penyegerakan mysql sebelum ini. Tekanannya masih sangat tinggi ke utuh lain Pergi ke perpustakaan mysql (mysql -> mysql). Perkara biasa ialah, sebagai contoh, pasukan data besar perlu menyegerakkan perpustakaan mysql untuk melaksanakan pelbagai operasi kompleks pada data sistem perniagaan syarikat. binlog

Apabila anda menambah, memadam atau mengubah suai sekeping data dalam mysql, akan ada 3 penambahan, pemadaman dan pengubahsuaian

log yang sepadan dengannya, kemudian ketiga-tiga entri binlog ini akan dihantar ke MQ, dan kemudian dimakan dan dilaksanakan mengikut urutan Sekurang-kurangnya ia mesti dipastikan bahawa ia adalah mengikut urutan. Jika tidak, ia pada asalnya: tambah, ubah suai, padam tetapi anda hanya menukar pesanan dan melaksanakannya untuk memadam, mengubah suai dan menambah. binlog

Pada asalnya, apabila data ini disegerakkan, data sepatutnya telah dipadamkan pada penghujungnya, tetapi akibatnya, anda mendapat pesanan yang salah, dan data telah dikekalkan pada akhirnya, dan penyegerakan data menjadi salah; .

Mari kita lihat dahulu dua senario di mana pesanan akan menjadi tidak teratur:

  • RabbitMQ: satu baris gilir, berbilang pengguna. Sebagai contoh, pengeluar menghantar tiga keping data kepada RabbitMQ, dalam susunan data1/data2/data3, dan apa yang ditolak ke dalam baris gilir memori RabbitMQ. Terdapat tiga pengguna yang menggunakan salah satu daripada tiga keping data daripada MQ Hasilnya, pengguna 2 menyelesaikan operasi terlebih dahulu dan menyimpan data2 ke pangkalan data, diikuti dengan data1/data3. Ini jelas tidak kacau.

Bagaimanakah mysql memastikan susunan mesej?

  • Kafka: Sebagai contoh, kami mencipta topik dengan tiga partition. Apabila pengeluar menulis, dia sebenarnya boleh menentukan kunci Contohnya, jika kita menentukan id pesanan sebagai kunci, maka data yang berkaitan dengan pesanan ini pasti akan diedarkan ke partition yang sama, dan data dalam partition ini mesti ada. adalah perintah.

    Apabila pengguna mengeluarkan data daripada partition, mereka juga mesti teratur. Pada ketika ini, pesanan masih ok dan tidak ada kekeliruan. Seterusnya, kami mungkin membuat berbilang rangkaian dalam pengguna untuk memproses mesej secara serentak. Kerana jika pengguna menggunakan dan memproses dalam satu utas, dan pemprosesan itu memakan masa, sebagai contoh, ia mengambil masa berpuluh-puluh ms untuk memproses mesej, maka hanya berpuluh-puluh mesej boleh diproses dalam 1 saat, yang merupakan daya pemprosesan yang terlalu rendah . Jika berbilang utas berjalan serentak, pesanan mungkin menjadi kucar-kacir.

Bagaimanakah mysql memastikan susunan mesej?

Penyelesaian

RabbitMQ


Pisah berbilang baris gilir, setiap baris gilir mempunyai satu pengguna, iaitu lebih banyak baris gilir, yang sememangnya titik yang menyusahkan atau hanya ada satu baris gilir tetapi sepadan dengan satu pengguna, dan kemudian pengguna ini menggunakan baris gilir memori secara dalaman untuk beratur, dan kemudian mengedarkan Berikan lapisan bawah pekerja yang berbeza untuk dikendalikan.

Bagaimanakah mysql memastikan susunan mesej?

Kafka

  • Topik, partition, pengguna, penggunaan single-thread dalaman, single-thread throughput adalah terlalu rendah, secara amnya ini tidak akan digunakan.

  • Tulis N baris gilir memori, dan data dengan kunci yang sama akan pergi ke baris gilir memori yang sama, kemudian untuk N benang, setiap utas menggunakan satu baris gilir memori, supaya Memastikan keteraturan.

Bagaimanakah mysql memastikan susunan mesej?

Atas ialah kandungan terperinci Bagaimanakah mysql memastikan susunan mesej?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

MySQL: Kemudahan Pengurusan Data untuk Pemula MySQL: Kemudahan Pengurusan Data untuk Pemula Apr 09, 2025 am 12:07 AM

MySQL sesuai untuk pemula kerana mudah dipasang, kuat dan mudah untuk menguruskan data. 1. Pemasangan dan konfigurasi mudah, sesuai untuk pelbagai sistem operasi. 2. Menyokong operasi asas seperti membuat pangkalan data dan jadual, memasukkan, menanyakan, mengemas kini dan memadam data. 3. Menyediakan fungsi lanjutan seperti menyertai operasi dan subqueries. 4. Prestasi boleh ditingkatkan melalui pengindeksan, pengoptimuman pertanyaan dan pembahagian jadual. 5. Sokongan sokongan, pemulihan dan langkah keselamatan untuk memastikan keselamatan data dan konsistensi.

Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Apr 08, 2025 pm 09:51 PM

Navicat sendiri tidak menyimpan kata laluan pangkalan data, dan hanya boleh mengambil kata laluan yang disulitkan. Penyelesaian: 1. Periksa Pengurus Kata Laluan; 2. Semak fungsi "Ingat Kata Laluan" Navicat; 3. Tetapkan semula kata laluan pangkalan data; 4. Hubungi pentadbir pangkalan data.

Cara Membuat Premium Navicat Cara Membuat Premium Navicat Apr 09, 2025 am 07:09 AM

Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

Cara menyalin jadual di mysql Cara menyalin jadual di mysql Apr 08, 2025 pm 07:24 PM

Menyalin jadual di MySQL memerlukan membuat jadual baru, memasukkan data, menetapkan kunci asing, menyalin indeks, pencetus, prosedur tersimpan, dan fungsi. Langkah -langkah khusus termasuk: mewujudkan jadual baru dengan struktur yang sama. Masukkan data dari jadual asal ke dalam jadual baru. Tetapkan kekangan utama asing yang sama (jika jadual asal mempunyai satu). Buat indeks yang sama. Buat pencetus yang sama (jika jadual asal mempunyai satu). Buat prosedur atau fungsi yang disimpan yang sama (jika jadual asal digunakan).

Cara Melihat MySQL Cara Melihat MySQL Apr 08, 2025 pm 07:21 PM

Lihat pangkalan data MySQL dengan arahan berikut: Sambungkan ke pelayan: MySQL -U Pengguna Nama -P Kata Laluan Run Show pangkalan data; Perintah untuk mendapatkan semua pangkalan data yang sedia ada Pilih pangkalan data: Gunakan nama pangkalan data; Lihat Jadual: Tunjukkan Jadual; Lihat Struktur Jadual: Huraikan nama jadual; Lihat data: pilih * dari nama jadual;

Bagaimana untuk melihat kata laluan pangkalan data di Navicat untuk MariaDB? Bagaimana untuk melihat kata laluan pangkalan data di Navicat untuk MariaDB? Apr 08, 2025 pm 09:18 PM

Navicat untuk MariaDB tidak dapat melihat kata laluan pangkalan data secara langsung kerana kata laluan disimpan dalam bentuk yang disulitkan. Untuk memastikan keselamatan pangkalan data, terdapat tiga cara untuk menetapkan semula kata laluan anda: Tetapkan semula kata laluan anda melalui Navicat dan tetapkan kata laluan yang kompleks. Lihat fail konfigurasi (tidak disyorkan, risiko tinggi). Gunakan alat baris perintah sistem (tidak disyorkan, anda perlu mahir dalam alat baris arahan).

Cara menyalin dan tampal mysql Cara menyalin dan tampal mysql Apr 08, 2025 pm 07:18 PM

Salin dan tampal di MySQL termasuk langkah -langkah berikut: Pilih data, salin dengan Ctrl C (Windows) atau Cmd C (Mac); Klik kanan di lokasi sasaran, pilih Paste atau gunakan Ctrl V (Windows) atau CMD V (MAC); Data yang disalin dimasukkan ke dalam lokasi sasaran, atau menggantikan data sedia ada (bergantung kepada sama ada data sudah ada di lokasi sasaran).

Cara Melaksanakan SQL di Navicat Cara Melaksanakan SQL di Navicat Apr 08, 2025 pm 11:42 PM

Langkah -langkah untuk melaksanakan SQL di Navicat: Sambungkan ke pangkalan data. Buat tetingkap editor SQL. Tulis pertanyaan SQL atau skrip. Klik butang Run untuk melaksanakan pertanyaan atau skrip. Lihat hasilnya (jika pertanyaan dilaksanakan).

See all articles