只读实例创建

对于PolarDB-X Operator 1.3.0及以上的版本,您可以创建只读实例,并指定其所属的 PolarDB-X 主实例。

只读实例的存储节点通过增加 Learner 副本的方式来保证物理资源隔离,提供了读写分离的特性,同时能够基于全局时钟来确保只读查询的强一致性。

您可以通过以下两种方法创建只读实例:

1. 为已有主实例添加只读实例

创建独立的 PolarDBXCluster yaml 配置文件,令spec.readonlytrue,并指定spec.primaryCluster为其所属的主实例名,示例如下:

  # readonly.yaml
  apiVersion: polardbx.aliyun.com/v1
  kind: PolarDBXCluster
  metadata:
    name: pxc-readonly
  spec:
    readonly: true
    primaryCluster: pxc-master # 主实例名
    topology:
      nodes:
        cn:
          replicas: 1
          template:
            resources:
              limits:
                cpu: 2
                memory: 4Gi
            image: polardbx/polardbx-sql:v2.4.0_5.4.19
            imagePullPolicy: Always
        dn:
          # DN replicas 会自动与主实例的 DN replicas 保持同步,无需显式指定
          template:
            resources:
              limits:
                cpu: 2
                memory: 4Gi
            image: polardbx/polardbx-engine:v2.4.0_8.4.19
            imagePullPolicy: IfNotPresent
    config:
      cn:
        static:
          AttendHtap: true # 是否支持 HTAP

2. 同时创建主实例与只读实例

在创建主实例时,在主实例 PolarDBXCluster yaml 配置文件的spec.initReadonly字段中添加附属只读实例的信息。这种方法创建出的只读实例规格和参数与主实例相同,示例如下:

  # pxc-with-readonly.yaml
  apiVersion: polardbx.aliyun.com/v1
  kind: PolarDBXCluster
  metadata:
    name: pxc
  spec:
    initReadonly:
      - cnReplicas: 1 # 只读实例 CN 数
        name: readonly # 只读实例后缀名,本例中将生成名为 "pxc-readonly" 的只读实例,不填则会生成随机后缀
        extraParams:
          AttendHtap: "true" # 是否支持 HTAP
    topology:
      nodes:
        cn:
          replicas: 1
          template:
            resources:
              limits:
                cpu: 2
                memory: 4Gi
            image: polardbx/polardbx-sql:v2.4.0_5.4.19
            imagePullPolicy: Always
        dn:
          replicas: 1
          template:
            resources:
              limits:
                cpu: 2
                memory: 4Gi
            image: polardbx/polardbx-engine:v2.4.0_8.4.19
            imagePullPolicy: IfNotPresent

3. 连接只读实例

您可以直接连接只读实例,连接方法同主实例,见连接 PolarDB-X 数据库,对应的集群实例名称填入只读实例名即可。

results matching ""

    No results matching ""