TcaplusDB OMS控制台 - 设置读分流
1. 功能说明
表的读分流是指将业务的读请求发送到tcapsvr_slave,并由tcapsvr_slave处理这些请求包,以此减轻tcapsvr_master处理压力,防止过载。
满足以下条件的表可以或者需要进行读分流:
tcapsvr_master的处理能力已接近上限,需要快速缓解其处理压力;
业务的读请求在总访问量中占有较大比重;
业务能够接受这张表由强一致性降级为最终一致性。 注:从slave同步时延正常在10ms级别
目前支持将如下命令请求分流到tcapsvr_slave:
TCAPLUS_API_GET_REQ
- TCAPLUS_API_GET_TABLE_RECORD_COUNT_REQ
- TCAPLUS_API_LIST_GET_REQ
- TCAPLUS_API_LIST_GETALL_REQ
- TCAPLUS_API_GET_BY_PARTKEY_REQ
- TCAPLUS_API_BATCH_GET_BY_PARTKEY_REQ
- TCAPLUS_API_METADATA_GET_REQ
- TCAPLUS_API_TABLE_TRAVERSE_REQ
- TCAPLUS_API_LIST_TABLE_TRAVERSE_REQ
- TCAPLUS_API_BATCH_GET_REQ
2. 操作步骤
一共有两种方法设置读分流:
API侧设置读分流,可以在函数TcaplusServiceRequest::SetFlags()中设置读分流。
TcaplusDB OMS页面可以对某些App、Zone、Table设置读分流,并且可以对读分流的时段、命令、比例、是否去tcapsvr_master进行重试等进行设置。
如果API侧的读分流设置和TcaplusDB OMS侧的读分流设置不一致,以API侧的读分流设置为准。