- 首先,广告主在我们的投放系统中投放广告,才会有接下来的广告检索和广告索引,所以广告主是我们系统的顶层设计,即用户设计。
- 广告投放系统和广告检索系统是该项目的核心,基于 SpringCloud 的技术进行开发。其中,使用 Eureka 进行服务注册和服务发现;使用 Zuul 实现服务网关,作为广告系统总的入口,给我们的广告系统提供服务;使用 Feign 去调用不同的微服务,等等。
- 广告投放系统的广告数据索引由两个部分去组成,第一个是全量索引,第二个是增量索引。其中,全量索引指的是广告主在我们的广告投放系统中投放的广告,在广告检索系统还没构建完成,读取的一些静态的索引数据。
- 我们先定义一个位置,到这个位置之后的内容成为动态数据,之前的内容为固定好的数据,称为静态数据。我们先把这部分静态数据导出到静态文件里面,这份文件是从 MySQL 中读取,比如广告主预先投放的一些数据,叫做全量广告数据文件。广告检索系统会读取这份数据文件,建立一份全量索引,或者叫静态索引。之后,广告检索系统 “伪装” 成一个 slave,绑定到 MySQL 上面,监听到 MySQL 的 blob,然后去建立增量索引。这个增量索引是指广告主在监测系统的过程中,对广告数据进行修改,删除,增加,等等。这部分数据就是一份动态数据,索引称为增量索引。然后用这份数据去实现广告检索服务,建立索引的目的是为了加快检索服务。
- 媒体方会去对接我们的检索系统,然后对我们的检索系统发送请求。广告检索系统收到请求之后,对请求进行解析,实现检索服务,对照着请求信息去索引数据里面检索数据,最终获得媒体方想要的广告数据。
- 广告主投放的数据本身具有广告计费方式,比如 CPM,CPC,CPT 等等。
系统架构
最新推荐文章于 2024-07-16 10:09:56 发布