Updated on 2024-09-24 GMT+08:00

Changing the Consistency Level of a Proxy Instance

You can configure a consistency level when creating a proxy instance or change the consistency level of an existing proxy instance.

This section describes how to change the consistency level of a proxy instance.

Introducing Consistency Levels

There are several consistency levels to meet requirements in different scenarios.

  • Eventual consistency (default)

    After a proxy instance is created, requests for SELECT operations are routed to different nodes based on their read weights. Because there is a replication delay between the primary node and each read replica and the replication delay varies for different read replicas, the result returned by each SELECT statement may be different when you repeatedly execute a SELECT statement within a session. In this case, only eventual consistency is ensured.

  • Session consistency

    To eliminate data inconsistencies caused by eventual consistency, session consistency is provided. Session consistency ensures the result returned by each SELECT statement in a session is the data that was updated after the last write request.

    Proxy instances record the log sequence number (LSN) of each node and session. When data in a session is updated, a proxy instance records the LSN of the primary node as a session LSN. When a read request arrives subsequently, the database proxy compares the session LSN with the LSN of each node and routes the request to a node whose LSN is at least equal to the session LSN. This ensures session consistency.

    Figure 1 Principle of session consistency

    In session consistency, if there is significant replication delay between the primary node and read replicas and the LSN of each read replica is smaller than the session LSN, requests for SELECT operations will be routed to the primary node. In this case, loads on the primary node are heavy and instance performance suffers.

Constraints

  • To use session consistency, the kernel versions of GaussDB(for MySQL) instances must be 2.0.28.1 or later, and the kernel versions of proxy instances must be 2.7.4.0 or later.

Procedure

  1. Log in to the management console.
  2. Click in the upper left corner and select a region and project.
  3. Click in the upper left corner of the page and choose Databases > GaussDB(for MySQL).
  4. On the Instances page, click the instance name to go to the Basic Information page.
  5. In the navigation pane on the left, choose Database Proxy.
  6. Click the target proxy instance name to go to the Basic Information page. In the Proxy Instance Information area, click next to Consistency Level.

    Figure 2 Changing a consistency level

  7. Select a consistency level and click .

    After the consistency level is modified, you need to manually reboot the proxy instance or re-establish the connection to the proxy instance on the management console.

    For details about how to reboot a proxy instance, see Rebooting a Proxy Instance.