合规服务
compliance 提供 UTF-8 文本批量过滤。服务类型为 kComplianceSvr = 33,部署 chart 为
compliance-svr。服务实现、SDK 和协议分别位于 src/component/compliance/compliance_svr/、
src/component/compliance/sdk/ 和 src/component/compliance/protocol/。
调用链与部署
消费方链接 compliance-sdk,包含 rpc/compliance/compliance_client_api.h,调用
rpc::compliance::filter_text(ctx, request, response)。SDK 从服务发现中选择就绪节点,使用第一条文本作为
一致性哈希路由键,并一次发送整个批次。
部署时启用 compliance-svr 实例,并确保发布目录包含 resource/compliance/text_filter.acv2。
compliance_svr.text_filter_dictionary_file 配置词库路径,默认值相对于进程工作目录。
批量协议
ComplianceService/filter_text 的 SSFilterTextReq.items 中,每项包含待过滤文本和设置:
return_original_text:是否在结果中返回原文。replacement_text:命中区间的替换文本;空字符串表示删除命中区间。
SSFilterTextRsp.results 与请求条目按下标一一对应。status 为 OK 或 MATCHED,filtered_text
保存过滤结果,未命中时与输入相同。重叠命中合并后替换,相邻命中分别替换。任一条目处理失败时,服务端
返回错误并清除结果,不返回部分成功条目。
空批次由 SDK 直接成功返回并清空 response。其他 SDK 调用失败不会主动清空 response,调用方必须检查
RPC 结果,不能把旧响应当作本次过滤结果。是否放行未过滤文本由调用方策略决定。