自媒体文章审核

- 当自媒体用户提交发布文章之后,会发消息给RabbitMQ提交审核
- 自媒体微服务提供消息监听,处理自动审核
- 查询文章数据
- 判断文章id是否为1 (只有1需要自动审核)
- 文章内容中是否有自管理的敏感词,如果有则审核不通过,修改自媒体文章状态为2
- 调用阿里云文本反垃圾服务,进行文本审核 审核不通过 2 人工审核 3
- 调用阿里云图片审核服务,进行图片审核 审核不通过 2 人工审核 3
- 如果审核通过 判断发布时间 是否小于等于当前时间 如果小于等于 直接发消息通知 文章微服务 发布文章
- 如果未到发布时间,将消息发送到RabbitMQ的死信队列 并设置消息失效时间
内容安全检测第三方接口对接
参考文档
阿里云安全-文本内容垃圾检测
阿里云安全-图片审核
阿里云安全集成到项目
敏感词过滤算法DFA
DFA全称为:Deterministic Finite Automaton,即确定有穷自动机。
存储:一次性的把所有的敏感词存储到了多个map中
原理:
把敏感词拆分成单个子存到嵌套的Map集合中 {“isEnd:: 0 , “字”:Map},Map里面还是这种格式的map 直到敏感词的最后一个字{“isEnd:0”}
查询的时候:
自媒体文章审核
功能说明:
大致流程:
操作资源:
涉及技术:
BUG总结:
集成RabbitMQ实现自动审核
功能说明:异步调用,文章发布功能 和 审核功能 解耦和
大致流程:
1.先把MQ集成到项目
2.采用简单队列的模式,自媒体端发布文章 提交之后发送消息(文章ID)到MQ队列,自媒体端监听消息并传递消息给审核功能
涉及技术:消息中间件 RabbitMQ
BUG总结:
注意事项:消息序列化使用Json序列化,如果只有一个Integer的值,在接收时需要使用字符串
admin端-人工审核文章 (实战模块)
功能说明:
大致流程:
操作资源:
涉及技术:
BUG总结:
面试热点:
文章自动审核流程(业务说明,具体实现)
文章人工审核流程(业务说明)
阿里云内容安全服务介绍及使用
DFA算法介绍及使用
MQ介绍及常见应用场景
AMQP消息协议核心概念介绍
RabbitMQ支持的消息模式
RabbitMQ如何保证高可用
RabbitMQ如何保证消息的可靠性(或 消息不丢失)
- 发送确认机制
- 消息返还机制
- 持久化机制
- 消息确认机制
- 消息重试机制
如何保证消息避免重复消费(保证幂等性)
积压上百万消息如何快速消费
