

Group Replication now interacts with the Group Communication Engine more efficie...
source link: https://www.tuicool.com/articles/hit/qIVFzmv
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

MySQL 8.0.14 comes with a plethora of new features. Some of the new Group Replication featureshave user – facing options, someimpact user-facing options, and others stay completely under the hood. This post will present one of the under-the-hood changes in MySQL 8.0.14: the way the Group Replication layer interacts with the underlying Group Communication Engine layer, XCom .
Figure 1 shows a diagram of the Group Replication architecture.

Each group member is running a MySQL server instance making use of the Group Replication plugin. The plugin itself is built atop XCom, which provides a group communication service to Group Replication via the Group Communication System API (GCS). For example, GCS provides a group with dynamic membership and total-order broadcast of messages within the group.
Before MySQL 8.0.14, when Group Replication interacted with its local XCom instance via GCS, that interaction took place through XCom’s TCP socket. The same socket that the local XCom instance uses to communicate with the XCom instances of other group members. You know, the one you configure using the group_replication_local_address system variable.
Using the XCom’s TCP socket to interact with the local XCom instance had the benefit of code simplicity and uniformity, since the way GCS interacted with a local or remote XCom was the same. However, using the socket had some drawbacks, such as:
- (De)serialization of requests, and
- Memory copying throughout the network stack.
In MySQL 8.0.14, like Figure 2 depicts, GCS uses a shared-memory queue to interact with its local XCom instance instead of the TCP socket. Using the shared-memory queue allows GCS to do away with the aforementioned drawbacks, since they were a consequence of using networking mechanisms to interact with the local XCom instance.

For those of you interested in the more low-level details, the shared-memory queue is a concurrent, multi-producer, single-consumer queue implemented using C++11 atomics .
MySQL 8.0.14 is out , give it a spin and let us know what you think.
78 total views, 30 views today
Recommend
-
48
You might have heard the phrase “callback hell” before. Luckily, promises and async/await bring sanity back to your JavaScript.
-
41
README.md
-
29
In a previous blog post we presented the message fragmentation functionality that you can use starting with...
-
25
PHP Monitor If this software has been useful to you, all I ask is that you please star the repository, so I know that the software is being used. You can also send me
-
6
Deep dive into how the Teensy microcontroller interacts with the Arduino library Deep dive into how the Teensy microcontroller interacts with the Arduino library The Arduino lang...
-
6
How Scala interacts with MongoDB Reading Time: 2 minutes As a definition, MongoDB is an open source database that uses a d...
-
5
How Cybersecurity Interacts with CryptocurrencyHow Cybersecurity Interacts with CryptocurrencyJanuary 18th 2023 New Story8...
-
9
Window AC units and air purifiers in the US are about to get more energy-efficient / The Department of Energy set stricter energy efficiency standards that are supposed to save consumers money while cutting down on po...
-
10
Autocomplete A customizable autocomplete component made for React Native that interacts with the Google Places API May 27, 2023...
-
6
Intel’s backside power delivery process could make CPUs a whole lot more efficient / The company beat its competitors to this style of manufacturing.By
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK