暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库代理配置说明

芬芳 2023-09-12
224

在RDS MySQL产品中,数据库代理需要单独购买并配置,而在PolarDB MySQL版中,默认即开启数据库代理功能,同时功能也比MySQL的数据库代理更为强大。具体配置请参见配置数据库代理。数据库代理的参数说明如下:

  • 主地址:读写方式不可配置,直接指向主节点,只能配置连接地址,无法配置代理功能。
  • 集群地址:读写方式可配置,支持标准代理配置,不可删除。
  • 自定义地址:读写方式可配置,支持标准代理配置,可删除。
  • 读写模式:读写模式包括只读和可读可写。只读类型的连接地址如果只使用单节点,尽量不要应用在生产环境中。
  • 配置读写模式时,系统表查询会被路由到主节点,即使节点没有配置在当前连接地址上,可能对一些业务场景有影响。例如:
    select * from information_schema.processlist;
  • 在可读可写模式下,即使没有配置主节点,写请求会自动路由到主节点。
  • 如果对一致性有要求,推荐使用会话一致性,可以满足大部分的业务场景。如果一少部分业务的一致性要求不能在同一会话中完成,可以考虑使用hint方式强制读取主节点,例如:
    /FORCE_MASTER/ select * from information_schema.processlist;
  • 库是否接受读:满足一致性需求的前提下,将读请求全部分流到只读节点执行,如果不满足一致性需求(只读同步完成),流量还是会路由到主节点。
  • 事务拆分:将事务头部的读取语句拆分到只读节点上以承担主节点压力。
    image.png
  • 一致性级别
    • 最终一致性:不考虑数据的同步情况,按负载进行节点请求的调度,会出现写入的数据未同步完成,只读节点上读取不到的情况。
      image.png
    • 会话一致性:简单理解就是指在同一个连接里的前后请求,一般在写入后立即请求数据时使用,也是PolarDB推荐的一致性配置。
      image.png
    • 全局一致性:每一个会话都要判断只读节点是否已经同步到最新数据,对一致性要求最高的场景下启用。
      image.png
  • 连接池
    • 会话级连接池:用以缓存连接信息,主要在连接风暴的场景下使用。例如PHP大量短连接的场景下,无法控制连接到集群的总连接数。
    • 事务级连接池:标准连接池方案,对长连接进行复用,类似Druid等连接池中间件,控制连接集群的总连接数。
  • 并行查询:该选项仅在PolarDB MySQL版8.0版本集群只读类型的连接地址中可配置。如果只读类型的连接地址承接一些AP类业务流量,可以单独提供只读节点给此连接地址,并且尽量和TP业务节点不要重合。同时对并行查询的并行度单独调整,以充分利用CPU资源执行并行查询。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论