DRDS使用以下两种方式开启读写分离功能。
balance属性配置
进入DRDS管理控制台,分组管理--默认分组--关联RDS设置--属性设置。读写分离配置参数有“关闭”,“读语句发往读库”,“读语句随机发往读库和写库”选项:
• “关闭”:表示不开启读写分离,所有语句发往写节点。
• “读语句发往读库”:表示开启读写分离,所有事务外(autocommit=1)的select语句发往读节点;所有事务内(autocommit=0) 的语句发往写节点。
• “读语句随机发往读库和写库”:表示开启读写分离,所有事务外(autocommit=1)的select语句随机发往读节点或写节点;所有事务内 (autocommit=0)的语句发往写节点。
HINT语句
使用 /* !HINT({"balance":"?"})*/ 注解可以强制指定 select 语句按照指定规则进行读写分离,balance有三种取值方式,与DRDS的balance属性类似:
• /* !HINT({"balance":"0"})*/ 强制 select 语句发往写节点 。
• /* !HINT({"balance":"1"})*/ 强制 select 语句发往读节点 。
• /* !HINT({"balance":"2"})*/ 强制 select 语句随机发往数据库读节点或写节点。