连接地址(主地址、集群地址和自定义地址)

PolarDB集群的连接地址(又称为Endpoint)分为主地址、集群地址(又称为默认集群地址)和自定义地址三种类型。其中,默认集群地址和自定义地址都是通过数据库代理来实现的,即这两类地址的请求是经过代理节点,而主地址的请求不经过代理节点。在连接PolarDB集群时,您可以填写PolarDB集群的上述三种地址,推荐使用默认集群地址。本文将分别介绍这三种地址的作用和区别。

集群地址和主地址对比说明

image

地址类型

地址说明

适用场景

支持的网络类型

默认集群地址(推荐)

创建PolarDB集群时,每个集群会有1个默认集群地址。该地址的服务由数据库代理提供。

默认集群地址支持自动读写分离,即写请求路由到主节点,读请求路由到只读节点。关于数据库代理的说明,请参见数据库代理

适用于有读写分离需求的业务,并且能够通过增加只读节点实现快速、实时的业务扩展。

  • 私网

  • 公网

  • 私网(经典网络)

自定义地址

一个PolarDB集群最多可以再创建6个自定义地址。这些地址的服务也由数据库代理提供。

  • 自定义地址可以配置读写模式及负载均衡策略,既可支持读写分离,也可支持纯只读的业务。详细的配置请参见配置数据库代理

  • 自定义地址最少能够挂载一个只读节点,通过这个地址的请求只会到达这个只读节点。

说明

PolarDB支持创建单节点的自定义地址。若此节点故障,该集群地址可能会有最多1小时的不可用,请勿用于生产环境。

通过自定义地址可以实现不同业务对DB节点访问的隔离需求。如上图只读节点5异常只会影响业务Z,不会影响其他业务。

通过配置读写模式为只读可实现该地址只支持纯只读的业务。

主地址

每个PolarDB集群均支持且仅支持1个主地址。主地址有以下特点:

  • 总是连接到主节点,支持读和写操作。

  • 当主节点发生故障时,主地址会自动切换到新的主节点。

适用于不需要读写分离的业务。

私网、公网和经典网络地址

网络类型

说明

使用场景

私网

  • 通过私网的连接地址访问可以发挥PolarDB的最佳性能。

  • 创建集群时会默认生成一个私网的连接地址,该地址支持修改但无法释放,关于如何修改,请参见修改连接地址

例如:

  • ECS与数据库集群位于同一VPC,那么ECS可以通过私网地址访问数据库集群。

  • 使用DMS通过VPC访问数据库集群。

公网

  • 您可以申请或释放公网的连接地址,详情请参见管理连接地址

  • 公网即因特网,通过公网访问将无法实现PolarDB最佳性能。

例如:通过公网访问数据库集群进行维护操作。

经典网络

  • 您可以释放私网(经典网络)的连接地址,详情请参见管理连接地址

  • 集群之间不通过网络进行隔离,只能依靠集群自身的白名单策略来阻挡非法访问,详情请参见设置白名单

只有当业务处于经典网络中时,才能通过私网地址(经典网络)访问数据库集群。

集群地址的读写模式

集群地址支持可读可写(自动读写分离)只读两种读写模式,下表汇总了两种模式下集群地址的差异供您参考。

说明

设置集群地址读写模式的详细步骤,请参见配置数据库代理

对比项

可读可写(自动读写分离)

只读

服务节点选择方式

支持如下3种方式:

  • 仅选择主节点。

  • 仅选择(1个或多个)只读节点。

  • 同时选择主节点和(1个或多个)只读节点。

说明

可读可写模式下:

  • 所有写请求只会发往主节点,不论主节点是否已被添加在服务节点中。

  • 针对读请求,您可以通过设置主库是否接受读配置来决定主节点是否处理读请求。

仅支持如下1种方式:

  • 仅选择(1个或多个)只读节点。

说明

只读模式下:

  • 所有读请求按照负载均衡的方式转发到各只读节点。

  • 所有请求都不会被转发到主节点。即使主节点已被添加在服务节点中,也不会生效。

  • 不支持创建仅包含一个主节点的只读集群地址。

负载均衡策略

支持基于活跃请求数负载均衡策略。

更多详情,请参见负载均衡策略

支持基于连接数负载均衡基于活跃请求数负载均衡策略。

更多详情,请参见负载均衡策略

主库是否接受读

支持。

更多详情,请参见读写分离

该功能是为了降低主节点负载,只读地址的主节点不处理任何读写请求,因此无需该功能。

事务拆分

支持。

更多详情,请参见事务拆分

说明

仅当一致性级别会话一致性(中)全局一致性(强)时,支持该配置。

该功能是为了降低主节点负载,只读地址的主节点不处理任何读写请求,因此无需该功能。

一致性级别

支持最终一致性(弱)会话一致性(中)全局一致性(强)

更多详情,请参见一致性级别

最终一致性(弱),因为该地址不执行任何写操作。

连接池

支持会话级事务级连接池。

更多详情,请参见连接池

说明
  • 该功能是PolarDB数据库代理(Proxy)的连接池功能,并不影响客户端的连接池功能。如果客户端已经支持连接池,您可以选择关闭Proxy的连接池功能。

  • 关闭Proxy的连接池功能后,一个客户端连接会通过Proxy连到该地址下配置的所有节点上(包括主节点和只读节点),可用的业务连接总数受主节点的最大连接数限制。

不支持。

说明

PolarDB会在只读集群地址下配置的所有只读节点(主节点不参与连接分配)间均衡地分配连接,一个客户端连接会通过Proxy仅连接到一个只读节点,可用的业务连接总数是所有只读节点上的连接数之和。

安全防护

支持。

更多详情,请参见过载保护

不支持。