Heim >Datenbank >MySQL-Tutorial >Wie stellt MySQL die Reihenfolge der Nachrichten sicher?
Lassen Sie mich ein Beispiel geben. Wir haben bereits ein MySQL-binlog
-Synchronisierungssystem erstellt, und der Druck ist immer noch sehr hoch. Die täglichen Synchronisierungsdaten müssen Hunderte von Millionen erreichen, was bedeutet, dass die Datenmenge höher ist intakt von einer MySQL-Bibliothek synchronisiert. Wechseln Sie zu einer anderen MySQL-Bibliothek (MySQL -> MySQL). Ein gemeinsamer Punkt ist, dass beispielsweise ein Big-Data-Team eine MySQL-Bibliothek synchronisieren muss, um verschiedene komplexe Vorgänge an den Daten des Geschäftssystems des Unternehmens durchzuführen. binlog
同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -> mysql)。常见的一点在于说比如大数据 team,就需要同步一个 mysql 库过来,对公司的业务系统的数据做各种复杂的操作。
你在 mysql 里增删改一条数据,对应出来了增删改 3 条 binlog
日志,接着这三条 binlog
binlog
-Protokolle generiert, die dem Hinzufügen, Löschen und Ändern entsprechen. Anschließend werden diese drei binlog
-Protokolle generiert wird an MQ gesendet und dann nacheinander verbraucht und ausgeführt. Zumindest muss man dafür sorgen, dass die Leute in der richtigen Reihenfolge kommen, oder? Ansonsten hieß es ursprünglich: hinzufügen, ändern, löschen; aber Sie haben einfach die Reihenfolge geändert und ausgeführt, um zu löschen, zu ändern und hinzuzufügen. Ursprünglich hätten diese Daten am Ende gelöscht werden sollen, aber dadurch wurde die Reihenfolge falsch angegeben, und die Daten blieben am Ende erhalten, und die Datensynchronisierung ging schief. Sehen wir uns zunächst zwei Szenarien an, in denen die Bestellung außer Betrieb sein wird:
Kafka: Wir haben zum Beispiel ein Thema mit drei Partitionen erstellt. Wenn der Produzent schreibt, kann er tatsächlich einen Schlüssel angeben. Wenn wir beispielsweise eine Bestell-ID als Schlüssel angeben, werden die mit dieser Bestellung verbundenen Daten definitiv auf dieselbe Partition verteilt, und die Daten in dieser Partition müssen vorhanden sein ist ein Befehl.
RabbitMQ
Das obige ist der detaillierte Inhalt vonWie stellt MySQL die Reihenfolge der Nachrichten sicher?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!