广告系统-检索系统质量分析

广告系统-检索系统质量分析

5分钟 ·
播放数0
·
评论数0

男生: 哈喽大家好欢迎来到今天的播客,然后今天我们要聊的是什么呢我们要聊一聊广告检索系统。背后的一些核心的设计理念,以及我们是如何去保障这个系统的质量的。

女生: 听起来很有意思,那我们就直接开搞吧看看这个系统到底是怎么跑起来的。

男生: 哎,那我们先来聊一聊,就是广告检索系统它到底在这个数字营销的领域里面,扮演了一个什么样的角色,它主要是负责哪些功能?

女生: 可以说它是整个数字营销的一个心脏啊,它主要有三大功能。第一个呢是就是精准的匹配,就是根据用户的画像。场景的特征,还有广告的属性,进行一个多维度的检索,然后找到最符合用户需求的广告。第二个呢是实时竞价,就是它能够在毫秒级的时间内对广告进行一个出价的计算。和排序的决策,保障,效率和收益的最大化。第三个呢是多维度的定向投放,就是它可以根据地域。人群兴趣行为等等很多很细的维度来进行一个精准的投放,满足广告主各种各样的推广的目标。

男生: 那这个系统在架构设计上面会遇到哪些比较难的问题呢?然后又是通过什么样的方案来解决的呢?

女生: 这个系统的话它主要会面临三大挑战嗯第一个呢是高并发的请求,就是它的峰值的 QPS 可以达到数十万。那这个时候呢我们就采用了分布式的微服务的架构。把它拆分成很多很多小的服务,然后每个服务呢可以独立的进行伸缩。同时呢我们也使用了负载均衡,来让这些请求可以均匀的分发到这些服务上面去。第二个呢是对于低延迟的要求,就是用户对于这个广告的加载时间是非常非常敏感的。那这个时候呢我们就设计了多级的缓存策略。比如说我们有本地缓存,有分布式缓存,我们也会使用 CDN 来进行加速。同时呢我们也对我们的检索算法进行了优化,现在呢我们基本上可以做到在。一百毫秒以内给用户返回结果。

女生: 第三个呢是数据一致性的问题,就是我们的广告的物料。用户的数据,还有我们的投放的策略,这些东西都是会实时变化的。那这个时候呢我们就采用了最终一致性的模型。就是通过消息队列来异步的同步这些数据的变更。同时呢我们也有一些定时的校验的机制,来保证我们的数据是准确的。

男生: 这个系统在运行的过程当中会有哪些比较关键的风险点是需要特别关注的质量保障的?然后又是通过什么样的手段来进行控制的呢?

女生: 主要有三个方面吧第一个呢是数据的准确性。因为我们的广告投放是依赖于很多用户的标签和行为数据的,如果这个数据不准确了。那我们就会出现广告的错投,那这个时候呢我们就会有一些数据校验的规则。然后有一些自动化的检查,也会有一些人工的抽查,我们也会去追踪这个数据的血缘。就是看这个数据是从哪里来的,经过了哪些处理。第二个呢是系统的稳定性,就是在高并发的情况下我们的服务会不会出现一些熔断。或者说缓存穿透这之类的问题,那这个时候呢我们就会有全链路的压测。就是我们会去模拟,比如说日常流量的三倍的这样的情况来进行压测。同时呢我们也会有一些实时的监控的告警。就是如果我们的一些关键的指标,比如说响应时间。

女生: 或者说错误率,出现了异常的波动,我们可以在五分钟之内就发现并且报警。第三个呢是算法的公平性,就是我们的广告排序的算法会不会对一些中小的广告主不够友好。那这个时候呢我们就会有 A B 测试,就是我们会用小流量去验证我们新的算法。同时呢我们也会有一些定期的审计的机制,就是来看一看我们的这些广告主。他们的曝光的机会是不是公平的。

男生: 所以说就是广告检索系统这个东西它要高质量的运行。到底需要具备哪些核心的要素呢?

女生: 其实就是刚才我们讲的那些东西,就是一个是它的功能的设计。就是它要能够精准的匹配,然后要能够支持实时竞价,要能够多维度的去进行定向投放。第二个呢就是它的架构,它的架构要能够应对高并发,要能够做到低延迟。要能够保证数据的一致性。第三个呢就是它的一些质量保障的手段。就是它的数据要准,它的系统要稳,它的算法要公平。对其实就是这些东西共同作用来保证这个系统是可以高效并且稳定的运行的。

男生: 好吧,然后今天我们就是聊了广告检索系统的一些核心的设计。包括它在高并发的场景下面是如何去应对的。包括它的一些数据质量和算法公平性的保障。希望大家能够对于这样一个在数字营销里面非常重要的基础设施有了一个比较清晰的认识。

女生: 以上就是这期播客的全部内容啦,然后咱们下期再见拜拜!