此博客用于个人学习,来源于网上,对知识点进行一个整理。

1. 使用到的技术:

  • JDK 1.8

  • MySQL 8.0

  • SpringCloud Finchley:

    • Eureka
    • Zuul
    • Feign
  • Kafka 2.1.0

2. 广告系统概览与准备工作:

2.1 广告系统概览:

1)实现了什么功能:

  • 广告主的广告投放
    • 推广计划
    • 推广单元
  • 媒体方的广告曝光
    • CPM
    • CPT
    • CPC

2)包含哪些子系统:

一个完整的广告系统包含哪些子系统:

  • 广告投放系统
  • 广告检索系统
  • 曝光检测系统
  • 扣费系统
  • 报表系统

3)使用了哪些技术:

广告投放与检索系统使用了哪些技术:

  • SpringCloud
  • MySQL
  • Kafka

4)可以怎样扩展:

可以怎样扩展当前实现的广告系统:

  • 更多的维度
  • 用户画像
  • AI

2.2 广告系统架构:

对于一个项目来说,架构是尤为重要的,好的系统更需要一个好的架构,当架构定义好了后,就可以照着架构的思路实现各种其中的各项微服务。

广告系统架构:
第一章:广告系统架构

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

相关文章:

  • 2021-09-27
  • 2021-09-18
  • 2021-12-05
  • 2021-04-27
  • 2021-10-03
  • 2021-06-14
猜你喜欢
  • 2021-04-24
  • 2021-07-04
  • 2021-11-24
  • 2021-05-15
  • 2022-12-23
相关资源
相似解决方案