全部产品
Search
文档中心

云数据库 RDS:升级共享代理为独享型代理

更新时间:Nov 20, 2024

为避免共享代理的稳定性、可扩展性和性能问题,阿里云RDS MySQL推出独享型代理功能,已开启共享代理的实例可以升级为独享型代理。

说明

升级特惠

现在升级独享型代理,可在一定期限内免费使用独享型代理(额外新增代理个数需要收费)。不同付费类型的主实例优惠内容如下:

  • 按量付费:自升级日起,免费使用独享型代理一年。

  • 包年包月:自升级日起,免费使用独享型代理至少一年,取决于主实例的到期时间。

    • 主实例到期时间距离升级日大于一年,则您可免费使用独享型代理直到实例到期。

      说明

      如果您通过续费延长了主实例到期时间,仍然以续费前的主实例到期时间为准。

    • 主实例到期时间距离升级日小于一年,则您可免费使用独享型代理一年。

注意事项

  • 优惠期限内调整独享型代理数量,只有超过默认数量的独享型代理才需要额外付费。例如系统默认创建6个独享型代理,无论您如何调整,只要代理数量不超过6个就无需额外付费。但如果您一共创建了7个独享型代理,则需要为多出的1个独享型代理单独付费。

  • 优惠期限内关闭独享型代理则优惠即时结束,再次开启需要正常付费。

前提条件

  • 主实例与只读实例为如下版本:

    说明

    如果升级时出现current db not support db proxy错误提示,表示您需要先升级内核小版本

  • 实例已开启共享代理。 您可以在数据库代理页面查看是否为共享代理。

费用

升级为独享型代理时,系统会根据RDS实例(主实例及其只读实例)总规格,计算出独享型代理个数,按小时付费。具体价格请参见数据库独享型代理费用说明

背景信息

RDS MySQL的读写分离功能基于代理实现。部分存量MySQL 5.6、5.7实例的读写分离功能基于共享代理实现,存在稳定性风险,建议升级为独享型代理。相比共享代理,独享型代理有以下优势:

  • 稳定性和隔离性更好。

  • 性能更高。例如在数据库不是瓶颈时,使用SysBench在OLTP场景测试,一个独享型代理能够提供20,000 QPS。

  • 独享型代理数量可扩展,方便扩容业务。

  • 独享型代理的性能可监控,您可以根据监控及业务规划调整相应的独享型代理个数,实时生效。

  • 提供独享型代理连接地址,应用使用该地址后不用反复变更应用内的地址,减少维护成本,只要不释放代理,代理连接地址可以永远使用。例如您在大促时期开启读写分离,大促结束后释放只读实例,关闭读写分离,也不用变更应用内的连接地址。

  • 基于独享型代理连接地址可以实现读写分离、短连接优化、事务拆分等功能。

独享型代理的详情请参见什么是数据库代理

image

下文将介绍如何将存量的共享代理升级为独享型代理。

注意事项

  • 独享型代理的连接模型是1:N(即您的一个连接会后端连接到主实例和所有只读实例),建议开通独享型代理后,主实例和只读实例的连接数规格尽量一致,否则业务的连接数会受限于最小规格的实例连接数限制。

  • 切换到独享型代理后,新增只读实例或重启只读实例时,只有新的连接的请求才会路由到新的只读实例或重启的只读实例,老的连接请求不会路由过去。

  • 主实例与只读实例的参数max_prepared_stmt_count需要保持一致。

  • 数据库代理升级前后的连接地址均不会发生改变,但会造成虚拟IP(VIP)的变更,请尽量保证在您的应用程序中使用连接地址进行连接,而不使用IP地址。

  • 请及时清理客户端DNS缓存。客户端采用JVM的应用,建议将JVM配置中的TTL设置为不超过60秒,可确保在连接地址的VIP地址发生变更时,应用程序可以通过重新查询DNS来接收和使用资源的新VIP地址。

    说明

    JVM中设置TTL的方法请参见JDK官方文档:Class InetAddress

  • 独享型代理协议层默认启用多语句(multi-statement)功能。若应用层未开启此功能且使用了多语句,则会导致SQL错误。请预先检查并设置相应的连接参数,如在JDBC中添加allowMultiQueries=true

  • 更多注意事项,请参见数据库代理注意事项

影响

升级过程会影响主实例连接地址、只读实例连接地址和读写分离连接地址的可用性,其中主实例连接地址、只读实例连接地址会出现30~120秒的服务不可用,读写分离连接地址会出现30秒的不可用。

操作步骤

  1. 访问RDS实例列表,在上方选择地域,然后单击目标实例ID。

  2. 在左侧导航栏单击数据库代理

  3. 在右侧单击升级到独享代理

    说明

    请耐心等待升级完成。