腾讯云慧眼架构相关设计学习
这篇文章发布于 2020/07/26,归类于 计算机基础与开发工具
标签:
腾讯云慧眼架构相关设计学习,构架
昨晚看了一个关于腾讯云慧眼架构相关的分享,由于之前参与过该项目的一些开发,对业务比较了解。结合业务场景再来看构架设计,会有一种豁然开朗的感觉,下面对一些构架方面比较好的点做一个总结
要点
- 高可用,两地三中心、异常监控上报、弹性伸缩
- 资源有限时服务降级来提高QPS:例如,常规情况会抽取视频的10个帧图片,QPS的瓶颈在这,如果资源有限,通过服务降级,减少抽取的帧,每次抽取3-4帧,极大提高QPS
- 单个客户流量暴增时,分配独立资源池,不影响其他客户服务
- 客户提前告知,提前分配独立资源池
- 未提前告知,就需要服务具备自动告警功能,怎么检测流量异常,什么时候提前通知,需要根据情况使用特定的策略。客户流量激增时,告警邮件、短信通知相关负责人,找客户确定是正常流量还是异常流量,如果异常流量,限制QPS,拒绝大部分服务。如果是正常流程,分配资源、快速扩容
- 高扩展,可配置化服务,满足各种差异化需求
- 低耦合,服务拆分。新增功能特性时,减少各个服务需要做的改动;发布某个模块的功能时,对其他模块不会有干扰
- 低成本方式,服务兜底,便宜的证照库可能缺少一些用户身份信息,当出现这种情况会兜底去查询价格高一点的证照库,节约成本的情况下,保证了体验
- 提高成功率,多引擎融合策略,多个验证引擎识别成功率不一样,取多个引擎综合结果成功率会上升4-5个点
- 引擎服务接口hang,怎么保证服务ok,监测引擎异常次数,切换处理引擎
新引擎功能接入线上前怎么测试?
- 灰度策略,为某个客户灰度5%的流量,看识别结果
- 旁路策略,比灰度更好,直接copy一份某个用户的流量请求新引擎版本的服务,得出结果,就是用户请求发送到后台后,后台除了正常响应当前稳定版本验证的结果外,再把请求转发一份给测试引擎,这个结果是不会给到用户的。仅用来比对成功率。
引擎自动化评测策略
- 正、负样本(手工标注),多维度评测
- 引擎在不同地域样本里的表现