使用数据库实现读写流量路由
MSE提供一种数据库访问的读写流量路由的方案,您可以在不需要修改业务代码的情况下,基于此功能实现数据库
读写分离。本文介绍如何开启数据库读写流量路由和配置读写流量路由规则。
前提条件
背景信息
读写分离的常见使用场景
大量请求访问数据库,导致数据库CPU和内存爆满。
某些不重要的业务占存大量查询数据库的逻辑,影响数据库实例的稳定性,导致整体服务质量下降。
随着业务的增长,可能需要扩容数据库实例。在对数据库有少量写请求,但有大量读请求的应用场景下,单个实例可能无法承受读取压力,甚至影响业务运行。此时,引入读写分离的方案,一方面只读库可以承担主库的压力,另一方面能够有效地避免由数据更新导致的锁等待,提升微服务应用的性能。
MSE读写流量路由的优势
无需改动代码,MSE也可具备读写分离能力。
精细化动态的读写分离控制,即使在不了解业务接口的SQL情况下,MSE也可以控制目标接口的读SQL访问只读实例。
对于一致性敏感的业务,MSE可以满足业务在不同场景下对一致性级别的要求,保障业务一致性。
步骤一:开启数据库读写流量路由
登录MSE治理中心控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择 。
在应用列表页面,单击目标应用的资源卡片。
在左侧导航栏,单击数据库治理,然后单击数据库读写流量路由页签,配置相关参数,单击确定。
单击开启数据库读写分离右侧的
图标,然后开启数据库读写分离开关,开启数据库读写分离。
在只读实例URL输入需要只读实例的URL。
配置项
说明
开启数据库读写分离
表示是否开启数据库读写分离能力,实时生效。
开启:开启数据库流量路由功能。
关闭:将数据库读写分离功能关闭。
说明如果仅开启数据库读写分离,未继续配置读写流量路由规则,那么当前应用的全部读SQL请求会被路由至只读实例中。关于如何配置路由规则,请参见步骤二:配置数据库读写流量路由规则。
只读实例URL
输入正确的只读实例URL,将读请求的数据库访问路由至只读实例中。
在提示信息对话框,单击确认。
数据库读写流量路由已开启,即数据库读写分离生效。
步骤二:配置数据库读写流量路由规则
在MSE的数据库治理页面,单击数据库读写流量路由页签,在此页签单击新增规则。
在新增数据库读写流量路由对话框,配置相关参数,然后单击保存。
配置项
说明
接口类型
需要进行读写流量路由接口的类型。
接口名称
需要进行读写流量路由接口的名称
是否需要强一致性保证
开启强一致性保证,MSE会帮您异步校验数据库主从实例的同步状态,保证当前接口的读请求在主从状态一致的条件下,才会路由至只读实例。
是否开启
开启读写分离开关后,当前接口会开启读写流量路由功能。
如果已在步骤一开启数据库读写分离,并且在配置读写流量路由规则时,开启读写分离开关,那么当前应用按照读写流量路由规则的配置,开启读写流量路由。
如果已开启数据库读写分离,但在配置读写流量路由规则时,未开启读写分离开关,那么当前应用的SQL请求不会被路由至只读实例中。
在数据库读写流量路由页签的规则列表区域,可以查看已配置的数据库读写流量路由规则。
相关操作
规则创建完成后,您可以根据实际情况管理规则。
登录MSE治理中心控制台,并在顶部菜单栏选择地域。
在左侧导航栏,选择 。
在应用列表页面,单击目标应用的资源卡片。
在左侧导航栏,单击数据库治理,然后单击数据库读写流量路由页签,在此页签可以根据实际情况管理规则。
修改规则:在规则列表的操作列,单击编辑,修改当前规则信息,然后单击保存。
删除规则:在规则列表的操作列,单击删除,然后单击确定,删除已创建规则。
批量开启或关闭规则:选中目标规则,然后单击批量开启或批量关闭,在温馨提示对话框,单击确定。