避免掉进"重造轮子"的坑:从审核系统说起
The following article is from 闲鱼技术 Author 莫癫
前言
不要重复自己
紧跟业务目标和政策法规:会玩社区定位为一个纯净、有调性和有氛围的社区,需要运营全面洞察和协作把控社区的人、内容和场。同时网信办加大网络信息整治和处罚力度,对自查自纠的完整全面和及时性提出了更高的需求;
调研行业和竞对解决方案:闲鱼会玩是一个同时承载UGC和PGC内容的社区,同所有同类社区一样,内容、话题和创作者等社区各维度元素在安全防控、分类和原创保护等都有着刚性的审核或标注诉求;
与合作方充分交流:团队内外不乏在业务和技术上沉淀深厚的前辈,这是个吸收别人经验和验证自身想法的很好契机;
不要重复别人
BPMS:集团最为普及的工作流系统。有优秀的流程编排能力,但是不支持复杂页面布局、多态审核结果和嵌入各类交互组件,同步不支持处理人效和质量的优化;
XAP:封闭的内容审核平台,只支持接入该生态的帖子审核;
黑猫:安全中心的审核系统,定位如其名,主要针对内容安全进行抓黑放白;
亲测:用于知识标注,不具备审核流的协作能力;
怎么设计和演进是可承受的
在落地审核系统的过程,主要通过系统设计和演进策略的反复优化来降本提效,最大程度按时、保质、保量支持业务发展,同时避免系统腐化、提高迭代速度。
系统设计
微核心和插件化设计:保持核心组件层足够简洁,支持核心流程和搭建基础的插件容器。扩展功能进行插件实现;
借鉴和遵循成熟模式:剖析和借鉴同类系统经验,成熟的系统沉淀了成熟的方法论,甚至如集团BPMS实现很大程度是工业标准BPMS的一个典型成功案件,XAP是对业内内容审核流程的极大总结和实践,在理论和功能完善性都有很大都体现;
对可扩展和灵活性保持克制:不为不确定的灵活扩展做过度设计,如BPMS使用的流程引擎灵活强大且支持可视化的编排能力,在社区审核仅需线性和有限节点的审核流中则显得鸡肋,反而大大增加系统内核的复杂程度;
重点突破同类系统缺陷:某系统配置不统一、送审强依赖定时圈选无法保证流程实时等,这些已知问题在初期得到重视是可以很好得到解决的;
能力融合:前面提到的垂类审核系统已经在支持闲鱼会玩社区的部分审核业务,通过将其抽象为流程的节点类型之一进行对接,新建系统专注于目前短板能力建设,极大节省能力补全的投入;
MVP和演进策略
接入侧规约数据协议规范,支持消息输入输出,具备较好的容错性;
基本完备的流程流转内核:即上述抽象的微内核,需要在一期基本完成并保证在后期不会发生较大变化;
派单只需要实现拉单模式,且不需要支持规则化分派;
根据业务诉求,实现最简化的定制化审核工作台;
社区审核系统MVP版本
审核系统的MVP版本在两周完成开发上线,快速支撑了闲鱼社区圈子的审核,并在后续的迭代中完成安全中心的对接,避免业务侧直接对接安全中心长达一个月的排期和等待更长时间实施上线。后续基本保持每个版本两周的迭代周期,快速支持了后续的需求。
避免被重复
合理的架构和实现:相信很多大部分系统设计初衷都是为了解决一类问题,而不是解决一个问题。往往会因为各种原因达不到理想的状态,需要花足够多的经历进行前期设计,保持内核的开闭、插件功能的单一职责等,遵循良好的设计模式,并定期回顾优化;
打破信息烟囱: 在合适的阶段进行总结和思考,用分享或文章的方式传播给大家,与外界发生互动。也就尽可能避免了其他团队不知道轮子的存在而选择另起炉灶;
避免烟囱式系统:不具备足够的开放能力,除了完成已有的能力和支撑已有业务,不再探索可能的业务融合,逐渐会成为烟囱系统。很多时候具备保持大门敞开这样的开放性并不够,还需要主动挖掘需求,用各种方式降级业务接入门槛,接入更多业务,达到业务支撑和迭代的良性循环;
总结
往期推荐
技术琐话
以分布式设计、架构、体系思想为基础,兼论研发相关的点点滴滴,不限于代码、质量体系和研发管理。本号由坐馆老司机技术团队维护。