『课程介绍』:
广告系统是互联网公司中的必备知识体系,但是关于怎样设计、实现广告系统的资料、课程却非常稀少 。本课程将从零开始逐步实现广告系统中最为核心的两个模块:广告投放系统与广告检索系统,并测试它们的可用性,让你在实战中学习广告系统的设计思想,实现方法,掌握这项各大公司都极为重视的技术
『课程目录』:
第1章 课程简介
本章对这门课程进行说明,包括:广告系统的介绍、课程使用的技术介绍、课程的学习规划等。
1-1 课程导学
1-2 ***学前必读***(助你平稳踩坑,畅学无忧,课程学习与解决问题指南)
第2章 广告系统概览与准备工作
本章会介绍广告系统的思想、广告系统的技术实现架构、学习本课程之前的准备工作和广告系统的代码目录结构。
2-1 广告系统概览
2-2 广告系统架构
2-3 准备工作与系统目录结构
2-4 关于广告系统与准备工作的介绍及作业
第3章 广告系统骨架开发
广告系统使用SpringCloud微服务框架开发,并使用Maven做多模块管理。这一章完成项目骨架的开发,包括搭建注册中心和服务网关,同时也会对Maven的重要特性做介绍。
3-1 Maven 基础知识
3-2 Maven 相关特性
3-3 广告系统主工程
3-4 单节点 Eureka Server 的开发
3-5 Eureka Server 的部署
3-6 微服务架构及网关组件介绍
3-7 网关启动程序的开发
3-8 自定义网关过滤器的开发
3-9 关于 ad-eureka 的介绍及作业
3-10 关于 ad-gateway 的介绍及作业
第4章 微服务通用模块开发
本章实现广告系统微服务通用的功能,例如:统一响应格式、全局异常处理、通用代码定义、通用配置定义等。
4-1 关于通用模块功能的介绍
4-2 统一响应处理的开发
4-3 统一异常处理的开发
4-4 统一配置的开发
4-5 关于通用模块的说明及作业
第5章 广告投放系统的开发
本章的核心目标是实现投放系统,投放系统即实现对广告数据的存储。课程中会对表结构设计进行介绍,使用 JPA 实现对各个数据表的增删改查。同时,由于会涉及Spring相关的知识点(Spring IOC、Spring MVC、SpringBoot),也会对这些做基础介绍。...
5-1 Spring IOC和MVC基础知识
5-2 SpringBoot 常用功能特性介绍
5-3 广告投放系统数据表设计
5-4 创建广告投放系统子模块
5-5 数据表实体类定义(1)
5-6 数据表实体类定义(2)
5-7 数据表实体类定义(3)
5-8 数据表实体类定义(4)
5-9 数据表Dao接口的定义(1)
5-10 数据表Dao接口的定义(2)
5-11 用户账户服务功能实现
5-12 推广计划服务功能实现(1)
5-13 推广计划服务功能实现(2)
5-14 推广单元服务功能实现
5-15 推广单元限制服务功能实现(1)
5-16 推广单元限制服务功能实现(2)
5-17 创意服务功能实现
5-18 创意与推广单元关联服务功能实现
5-19 服务Controller的编写(1)
5-20 服务Controller的编写(2)
5-21 投放系统在网关中的配置
5-22 数据库与数据表的创建
5-23 关于广告投放系统的介绍及作业
5-24 关于 MySQL 慢查询的介绍及作业
5-25 关于 MySQL 索引的介绍及作业
5-26 关于 MySQL 事务隔离级别的介绍及作业
第6章 广告检索系统 - 微服务调用
本章会介绍使用 Ribbon 与 Feign 组件实现微服务之间的调用。
6-1 创建广告检索系统子模块
6-2 基于 Ribbon 实现微服务调用
6-3 基于 Feign 实现微服务调用
6-4 关于微服务调用的介绍及作业
第7章 广告检索系统 - 广告数据索引的设计与实现
广告检索系统的核心是实现广告检索服务,为加快广告检索的速度,良好的索引设计是不可缺少的。本章首先对索引的设计与维护进行介绍,之后,实现广告数据的索引服务。
7-1 广告数据索引设计介绍
7-2 广告数据索引维护介绍
7-3 推广计划索引对象定义与服务实现
7-4 推广单元索引对象定义与服务实现
7-5 关键词索引对象定义与服务实现
7-6 兴趣索引对象定义与服务实现
7-7 地域索引对象定义与服务实现
7-8 创意索引对象定义与服务实现
7-9 创意与推广单元关联索引对象定义与服务实现
7-10 索引服务类缓存的实现
7-11 关于广告数据索引的设计与实现的介绍及作业
第8章 广告检索系统 - 加载全量索引
本章介绍广告数据导出的实现,之后介绍各层级索引操作的实现,最后完成全量索引的加载操作。
8-1 导出表数据字段定义(1)
8-2 导出表数据字段定义(2)
8-3 表数据导出到文件功能实现(1)
8-4 表数据导出到文件功能实现(2)
8-5 表数据导出到文件功能实现(3)
8-6 索引操作Handler的定义与说明
8-7 第二层级索引操作的实现
8-8 第三层级索引操作的实现
8-9 第四层级索引操作的实现
8-10 全量索引加载的实现(1)
8-11 全量索引加载的实现(2)
8-12 关于加载全量索引的介绍与说明
第9章 广告检索系统-监听Binlog构造增量数据
本章首先会介绍什么是MySQL Binlog,它有哪些作用和特性;再去介绍怎样实现监听Binlog构造增量数据。
9-1 MySQL Binlog 的介绍
9-2 使用开源工具监听 Binlog 的演示
9-3 构造解析 Binlog 使用到的模板文件
9-4 实现对模板对象的解析
9-5 载入模板文件并实现列索引到列名的映射
9-6 关于 Binlog 监听与解析的说明
9-7 Binlog 监听与解析的实现(1)
9-8 Binlog 监听与解析的实现(2)
9-9 根据 Binlog 对象构造增量数据的准备工作
9-10 根据 Binlog 对象构造增量数据的实现
9-11 启动对 Binlog 的监听
9-12 关于 MySQL Binlog 的介绍
9-13 关于开源工具mysql-binlog-connector-java的介绍及作业
9-14 关于监听 Binlog 构造增量数据的介绍及作业
第10章 广告检索系统 - Binlog增量数据的投递
Binlog 增量数据可以有多种用途,也就对应着多种数据投递方案。本章会实现增量数据投递构建增量索引,以及投递到 Kafka 用于扩展工作。
10-1 增量数据投递前的准备工作
10-2 第二层级增量数据的投递
10-3 第三层级增量数据的投递
10-4 第四层级增量数据的投递
10-5 将增量数据投递到Kafka
10-6 关于 Binlog 增量数据投递的介绍及作业
第11章 广告检索系统-广告检索服务
广告系统最重要的功能当然是实现广告的检索,本章首先定义媒体方请求数据的格式和检索服务返回广告数据的格式,再去根据多种筛选策略实现对索引数据的筛选,最终完成广告检索服务。
11-1 广告检索服务功能的介绍
11-2 媒体方请求对象的定义
11-3 检索服务响应对象的定义
11-4 根据流量类型实现对推广单元的预筛选
11-5 根据匹配信息实现对推广单元的再筛选
11-6 通过推广单元获取关联的创意实现
11-7 填充检索服务响应对象
11-8 完善广告检索服务
11-9 关于广告检索服务的介绍及作业
第12章 Kafka的安装与使用
Kafka作为消息队列可以实现消息的传递,目前已经被各大互联网公司应用到实际的企业级开发。这一章将会介绍怎样安装Kafka、简单的使用Kafka。同时,为了更好的理解它的工作过程,会以编码实践的方式展示其原生API的使用方法。...
12-1 Kafka 基础知识的介绍
12-2 Kafka 的安装与使用
12-3 使用原生API发送消息(1)
12-4 使用原生API发送消息(2)
12-5 自定义分区分配器
12-6 消费者与消费者组的概念
12-7 使用原生API消费消息(1)
12-8 使用原生API消费消息(2)
12-9 使用原生API消费消息(3)
12-10 关于 Kafka 的介绍及作业
第13章 熔断监控Hystrix Dashboard
微服务之间可以通过Feign实现调用,但是可能由于存在微服务不稳定的情况,导致调用失败。可以定义Hystrix实现断路器功能,并利用Hystrix Dashboard监控熔断情况。
13-1 Hystrix Dashboard 的介绍
13-2 Dashboard 模块的实现
13-3 关于 Hystrix Dashboard 的介绍及作业
第14章 广告系统的可用性测试
通过测试用例和PostMan检验投放系统与检索系统的可用性。
14-1 广告系统测试前的准备工作
14-2 编写广告投放系统的测试用例
14-3 编写广告检索系统的测试用例(上)
14-4 编写广告检索系统的测试用例(下)
14-5 投放系统的 HTTP 接口测试
14-6 mock 数据的内容
14-7 关于广告系统可用性测试的介绍及说明
14-8 关于广告系统可用性测试的介绍及说明 - HTTP 接口测试
第15章 课程总结
对课程所介绍的内容做总结,列出所涉及到的知识点,回顾广告系统,并提出问题以及扩展方案。
15-1 课程总结
下载地址:
|