文档

使用数据库实现读写流量路由

更新时间:

MSE提供一种数据库访问的读写流量路由的方案,您可以在不需要修改业务代码的情况下,基于此功能实现数据库读写分离。本文介绍如何开启数据库读写流量路由和配置读写流量路由规则。

前提条件

将ACK微服务应用接入MSE治理中心

背景信息

读写分离的常见使用场景

  • 大量请求访问数据库,导致数据库CPU和内存爆满。

  • 某些不重要的业务占用大量查询数据库的逻辑,影响数据库实例的稳定性,导致整体服务质量下降。

  • 随着业务的增长,可能需要扩容数据库实例。在对数据库有少量写请求,但有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至影响业务运行。此时,引入读写分离的方案,一方面只读库可以承担主库的压力,另一方面能够有效地避免由数据更新导致的锁等待,提升微服务应用的性能。

MSE读写流量路由的优势

  • 无需改动代码,MSE也可具备读写分离能力。

  • 精细化动态的读写分离控制,即使在不了解业务接口的SQL情况下,MSE也可以控制目标接口的读SQL访问只读实例。

  • 对于一致性敏感的业务,MSE可以满足业务在不同场景下对一致性级别的要求,保障业务一致性。

步骤一:开启数据库读写流量路由

  1. 登录MSE治理中心控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择治理中心 > 应用治理

  3. 应用列表页面,单击目标应用的资源卡片。

  4. 在左侧导航栏,单击数据库治理,单击数据库读写流量路由页签,配置相关参数,然后单击确定

    1. 单击开启数据库读写分离右侧的编辑图标,然后开启数据库读写分离开关,开启数据库读写分离。

    2. 只读实例URL输入需要只读实例的URL。

    配置项

    说明

    开启数据库读写分离

    表示是否开启数据库读写分离能力,实时生效。

    • 开启:开启数据库流量路由功能。

    • 关闭:将数据库读写分离功能关闭。

    说明

    如果仅开启数据库读写分离,未继续配置读写流量路由规则,那么当前应用的全部读SQL请求会被路由至只读实例中。关于如何配置路由规则,请参见步骤二:配置数据库读写流量路由规则

    只读实例URL

    输入正确的只读实例URL,将读请求的数据库访问路由至只读实例中。

  5. 提示信息对话框,单击确认

    数据库读写流量路由已开启,即数据库读写分离生效。

步骤二:配置数据库读写流量路由规则

  1. 数据库读写流量路由页签,在此页签单击新增规则

  2. 新增数据库读写流量路由对话框,配置相关参数,然后单击新建

    配置项

    说明

    接口类型

    需要进行读写流量路由接口的类型。

    接口名称

    需要进行读写流量路由接口的名称

    是否需要强一致性保证

    开启强一致性保证,MSE会帮您异步校验数据库主从实例的同步状态,保证当前接口的读请求在主从状态一致的条件下,才会路由至只读实例。

    是否开启

    开启读写分离开关后,当前接口会开启读写流量路由功能。

    • 如果已在步骤一开启数据库读写分离,并且在配置读写流量路由规则时,开启读写分离开关,那么当前应用按照读写流量路由规则的配置,开启读写流量路由。

    • 如果已开启数据库读写分离,但在配置读写流量路由规则时,未开启读写分离开关,那么当前应用的SQL请求不会被路由至只读实例中。

    数据库读写流量路由页签的规则列表区域,可以查看已配置的数据库读写流量路由规则。

相关操作

规则创建完成后,您可以根据实际情况管理规则。

  1. 登录MSE治理中心控制台,并在顶部菜单栏选择地域。

  2. 在左侧导航栏,选择治理中心 > 应用治理

  3. 应用列表页面,单击目标应用的资源卡片。

  4. 在左侧导航栏,单击数据库治理,然后单击数据库读写流量路由页签,在此页签可以根据实际情况管理规则。

    • 修改规则:在规则列表的操作列,单击编辑,修改当前规则信息,然后单击保存

    • 删除规则:在规则列表的操作列,单击删除,然后单击确定,删除已创建规则。

    • 批量开启或关闭规则:选中目标规则,然后单击批量开启批量关闭,在温馨提示对话框,单击确定

  • 本页导读 (1)
文档反馈