找回密码
 立即注册
查看: 955|回复: 0

基于SpringCloud 微服务架构 广告系统设计与实现

[复制链接]
累计签到:85 天
连续签到:1 天
发表于 2019-6-25 12:28:50 | 显示全部楼层 |阅读模式
第1章 课程简介【终于等到你,快来认识我】
! \6 S4 ^! ?. c& m 1-1 课程导学* a1 u. F/ y& o$ g" q6 J! _
1-2 学前必读
% ^1 E; |) q: ]- p1 d4 e& `5 j3 s6 ~
第2章 广告系统概览与准备工作【看一看我们将要做什么】
7 H6 t3 v* A- L$ \; d% l本章会介绍广告系统的思想、广告系统的技术实现架构、学习本课程之前的准备工作和广告系统的代码目录结构。
7 g. q' F& P. j; _' X3 s# k# _ 2-1 广告系统概览
& c3 S0 g! I9 _$ B. B: q6 A 2-2 广告系统架构8 c% P1 j9 n' m4 d5 i0 Y; _
2-3 【整体看一看】准备工作与系统目录结构8 W& J* E) X6 b/ V
2-4 【总结与作业】关于广告系统与准备工作的介绍及作业* b3 k5 F3 O3 G4 P% u: i& C8 ~  U9 j6 N
. [) j! o' Y- h+ G. i  N7 U. O
第3章 广告系统骨架开发【要想上梯子,必须从底下爬起】  \( Z& |2 o# L* P1 r
广告系统使用SpringCloud微服务框架开发,并使用Maven做多模块管理。这一章完成项目骨架的开发,包括搭建注册中心和服务网关,同时也会对Maven的重要特性做介绍。) m' S$ R. ?. a9 p, z
3-1 Maven 基础知识
* z+ M+ i% M) e" {6 C- d 3-2 Maven 相关特性- F, N6 u$ N' n' c' J6 W
3-3 【动手编码】广告系统主工程1 S2 g) }# `8 |9 W( D6 [, Z
3-4 【边学边做】单节点 Eureka Server 的开发0 ?2 T$ z# b( b! m
3-5 【让代码跑起来】Eureka Server 的部署
: F- p2 P( Z# U- t6 z1 o$ ?8 |: i 3-6 【总结与作业】关于 ad-eureka 的介绍及作业+ w+ o9 _! {' a8 h) _6 M
3-7 微服务架构及网关组件介绍, m+ I! N! H! {" K. j/ O
3-8 【边学边做】网关启动程序的开发" y5 ?" l. p5 ?1 f6 y
3-9 【注重理解】自定义网关过滤器的开发 试看% z8 q' |+ n$ o% v7 u+ ?; z# w$ b
3-10 【总结与作业】关于 ad-gateway 的介绍及作业
8 v% l' s1 u$ _  q
+ H6 h/ ^1 F$ N0 [1 \$ e第4章 微服务通用模块开发【企业级开发常见抽象】
& V9 n  m* R4 C本章实现广告系统微服务通用的功能,例如:统一响应格式、全局异常处理、通用代码定义、通用配置定义等。
# }( [& O0 @! ]- P% V5 u3 j 4-1 【理解它的作用】关于通用模块功能的介绍, `+ y7 X7 p% @8 {6 ^* B
4-2 【跟我一起编码】统一响应处理的开发2 L' G6 @8 R; }
4-3 统一异常处理的开发
6 x# n9 a: L5 k! B. y+ _, B  A 4-4 统一配置的开发' z. M% ^" z0 [8 H( B8 Y; Y
4-5 【总结与作业】关于通用模块的说明及作业
/ B% {5 x9 n# r1 C# p9 Y, e9 Y7 O: o) ^) i' n1 N' c/ S
第5章 广告投放系统的开发【打好基础,才能迎接将来的挑战】
. S" V$ }5 Z6 I2 ^) e+ H" K  \本章的核心目标是实现投放系统,投放系统即实现对广告数据的存储。课程中会对表结构设计进行介绍,使用 JPA 实现对各个数据表的增删改查。同时,由于会涉及Spring相关的知识点(Spring IOC、Spring MVC、SpringBoot),也会对这些做基础介绍。...% X+ N; c  n7 }' s4 B! X( N
5-1 【回顾下Spring特性】Spring IOC和MVC基础知识
$ _' b+ S/ A7 \# D) S) T) m) U 5-2 【简单好用的SpringBoot】SpringBoot 常用功能特性介绍
( T) l! x# |- M" \: a$ ^ 5-3 【理解业务思想】广告投放系统数据表设计$ S* o( W/ _% u3 F4 X; o
5-4 【总结与作业】关于广告投放系统的介绍及作业3 v3 {3 s0 F; s4 i1 Z* v% O
5-5 【开始编码】创建广告投放系统子模块; S2 g2 i, W( k. C
5-6 【Model层设计】数据表实体类定义(1)
0 o/ ~% f" W4 T: B9 U 5-7 数据表实体类定义(2)
4 p4 \/ m# k- p" p6 R+ d+ ?8 s7 V3 x 5-8 数据表实体类定义(3)
: c4 i' m$ `5 ^, t4 T/ N 5-9 数据表实体类定义(4)* e! T; l2 D8 V. t3 @; X
5-10 【Dao层设计】数据表Dao接口的定义(1)
, n5 p+ Y6 u5 k 5-11 数据表Dao接口的定义(2)9 U, L8 |( K9 ~8 a
5-12 【实战应用】用户账户服务功能实现0 u  j, V+ Z" p, M+ Z
5-13 推广计划服务功能实现(1)' q  z  j- s& B4 c
5-14 推广计划服务功能实现(2)
- p5 B7 P& d* j) L 5-15 推广单元服务功能实现
" P% a% P' a  B3 H( z2 n/ X 5-16 推广单元限制服务功能实现(1)0 f* P* l1 F+ b( R8 v4 i7 R
5-17 推广单元限制服务功能实现(2)
2 q# c" M- I& u; X0 C 5-18 创意服务功能实现
  \0 ]5 t( q* m1 S" g# [4 ^' H; k 5-19 创意与推广单元关联服务功能实现
8 M0 a) R* L: k+ q% J 5-20 服务Controller的编写(1); L& ^1 E6 d; L0 A
5-21 服务Controller的编写(2)
% Q* V! p$ w1 `5 j7 g4 Y 5-22 投放系统在网关中的配置
" O& u1 R' M& x4 ]! @+ R 5-23 数据库与数据表的创建
. _  N6 |* c8 _" ~ 5-24 【扩展与练习】关于 MySQL 慢查询的介绍及作业
. V  h; I! r) [; X' l 5-25 【扩展与练习】关于 MySQL 索引的介绍及作业8 j7 g6 N. b  O& g& S
5-26 【扩展与练习】关于 MySQL 事务隔离级别的介绍及作业
# D+ F0 @$ X( L( J, k: W9 L5 f% [. s
第6章 广告检索系统 - 微服务调用【基础打好了,难度也要加点了】2 a8 c. h& J( a1 M7 k
本章会介绍使用 Ribbon 与 Feign 组件实现微服务之间的调用。
3 q. D4 t" n5 ]  t! j8 D6 k& u 6-1 【搭建微服务】创建广告检索系统子模块. l% S# I- x* D! }, M
6-2 【跟我一起编码】基于 Ribbon 实现微服务调用
* l4 G; y' R- t9 W 6-3 【注重领会】基于 Feign 实现微服务调用# i' c2 U7 x( x1 C4 M
6-4 【总结与作业】关于微服务调用的介绍及作业
1 u2 T, T% Z3 W5 ?
7 v! e0 _9 i/ l# {0 _# L第7章 广告检索系统-广告数据索引的设计与实现【难度在逐步上升】
0 R3 L6 g  |0 ]5 F, ~, p广告检索系统的核心是实现广告检索服务,为加快广告检索的速度,良好的索引设计是不可缺少的。本章首先对索引的设计与维护进行介绍,之后,实现广告数据的索引服务。
& E8 X$ B( l& h7 k+ [2 V* x5 H8 k 7-1 【理解设计好开发】广告数据索引设计介绍. V7 d  m3 r0 Z' x+ A1 y
7-2 【理解设计好开发】广告数据索引维护介绍
! J( A& E8 n) E$ _/ i/ L6 { 7-3 【跟我一起编码】推广计划索引对象定义与服务实现) \7 Y0 M/ K# q/ q0 k. p( ]
7-4 推广单元索引对象定义与服务实现
. X8 t8 ]+ l2 t9 y 7-5 关键词索引对象定义与服务实现
2 d, C5 r$ U8 C& ? 7-6 兴趣索引对象定义与服务实现
1 p7 K6 \; E- X  l: \1 K 7-7 地域索引对象定义与服务实现
& ]2 j% k5 y$ I7 ^+ \ 7-8 创意索引对象定义与服务实现0 p, y8 c" ^$ |' _( _2 V) P
7-9 创意与推广单元关联索引对象定义与服务实现3 V2 Q/ F  y- F0 Z8 h9 f% W
7-10 【实战技能提升】索引服务类缓存的实现
+ L, g8 x4 |) }; G- z( z- y. D7 n 7-11 【总结与作业】关于广告数据索引的设计与实现的介绍及作业
4 t% K- F2 k* z; ?5 S6 B0 b第8章 广告检索系统 – 加载全量索引【对业务的理解要透彻,才能一气呵成】
$ R. e# f4 x& ~3 v% D+ A+ P
9 Y) o  X6 h' `) J本章介绍广告数据导出的实现,之后介绍各层级索引操作的实现,最后完成全量索引的加载操作。; N( f8 U1 D) L  D  w# U1 {
8-1 【边学边做】导出表数据字段定义(1)" O+ ~$ _+ T% d' g
8-2 导出表数据字段定义(2)
9 {) i4 C7 K8 X1 [6 r. f& Y; A 8-3 表数据导出到文件功能实现(1)$ A3 T0 U2 u7 A. t2 @: z4 H  t, ]
8-4 表数据导出到文件功能实现(2)$ |. {- b4 k& S, f1 v& [
8-5 表数据导出到文件功能实现(3)' C- }3 g2 Z) d9 W/ `! O. ^0 _
8-6 【在理解的基础上编码】索引操作Handler的定义与说明
# Y8 _9 j" i- r* B" [ 8-7 第二层级索引操作的实现
3 W# j) P; w3 b2 f5 c, \ 8-8 第三层级索引操作的实现
0 K5 N8 j+ I8 A- ~: n( Z. D 8-9 第四层级索引操作的实现8 M3 b+ p6 t0 t& F
8-10 【试试举一反三】全量索引加载的实现(1), r$ ~! d* U/ S: V. d
8-11 全量索引加载的实现(2)1 v2 J  p- q" _% T* m  w
8-12 【总结与作业】关于加载全量索引的介绍与说明
4 k9 r5 c2 `, [' ]# ]  ^第9章 广告检索系统 – 监听 Binlog 构造增量数据【技能提升:难度指数5颗星】" J( l7 y2 r& C. a2 `' g$ g
, Y# f/ R% q' v6 v; s- B! v
本章首先会介绍什么是MySQL Binlog,它有哪些作用和特性;再去介绍怎样实现监听Binlog构造增量数据。
) Y0 `) [& ?" W4 a 9-1 【认识一下吧】MySQL Binlog 的介绍2 i+ ]2 G7 F/ F. J$ b- b) ~
9-2 【总结与作业】关于 MySQL Binlog 的介绍
" y0 w& ]# M- h: p3 X4 N 9-3 【先来个栗子】使用开源工具监听 Binlog 的演示
' ]9 `0 {3 x) j! k& U 9-4 【总结与作业】mysql-binlog-connector-java介绍及作业. B8 _) i' e; _( ~% o& i: x
9-5 【注重领会】构造解析 Binlog 使用到的模板文件# P* s- N, R) \
9-6 【边学边做】实现对模板对象的解析
: i6 i( N$ b; C5 S7 t 9-7 【技能逐步提升】载入模板文件并实现列索引到列名的映射" G$ \. A  J' e7 }: ]% \
9-8 【注重理解】关于 Binlog 监听与解析的说明3 ^5 H: w  K; k$ F0 a8 O' t
9-9 【跟我一起编码】Binlog 监听与解析的实现(1)
7 c/ q9 G6 b. U 9-10 【跟我一起编码】Binlog 监听与解析的实现(2)
! V+ e* p* d8 t' U 9-11 【边学边做】根据 Binlog 对象构造增量数据的准备工作
! |6 {& m  g2 N, _) f& c6 U  i 9-12 【边学边做】根据 Binlog 对象构造增量数据的实现- U5 L' f' G& a2 V7 A: z
9-13 【多做总结与思考】启动对 Binlog 的监听
9 C3 B+ y+ A. u4 u" p 9-14 【总结与作业】关于监听 Binlog 构造增量数据的介绍及作业
7 C, _! z& m. ~# w5 r" X- p! n: x3 L8 P3 A# {+ Q
第10章 广告检索系统 – Binlog 增量数据的投递【企业级开发必备技能】" |# W9 ~. `( \4 |# m5 \; a, f
Binlog 增量数据可以有多种用途,也就对应着多种数据投递方案。本章会实现增量数据投递构建增量索引,以及投递到 Kafka 用于扩展工作。
6 d4 a2 l# F4 M) T8 O. F 10-1 【良好的代码设计】增量数据投递前的准备工作: T2 l6 [8 p' i
10-2 【跟我一起继续编码】第二层级增量数据的投递
4 M1 [# e9 W/ }% o6 M4 `5 a9 G% P 10-3 第三层级增量数据的投递, v7 w: D3 t* }, H2 {
10-4 第四层级增量数据的投递9 }, ~( J* s! s: G' i" n
10-5 【这里有内涵】将增量数据投递到Kafka; [# a$ C; v& M$ X1 W- }
10-6 【总结与作业】关于 Binlog 增量数据投递的介绍及作业
) h$ e4 K9 f& J& `& x0 n# n; U7 R
第11章 广告检索系统 – 广告检索服务【技能与业务思想再提升:难度指数5颗星】
) a7 b( {2 ^" w( E( q- g广告系统最重要的功能当然是实现广告的检索,本章首先定义媒体方请求数据的格式和检索服务返回广告数据的格式,再去根据多种筛选策略实现对索引数据的筛选,最终完成广告检索服务。
& \7 X8 U) ~5 I" G/ T 11-1 【注重理解与思考】广告检索服务功能的介绍
- _0 C( V: K, a 11-2 【请求条件封装】媒体方请求对象的定义9 I! K# o. x- M1 G
11-3 【结合业务去看响应】检索服务响应对象的定义( G7 ~% U" A; _
11-4 【跟我一起编码】根据流量类型实现对推广单元的预筛选" d; }9 ~- k2 S  s5 Y6 W
11-5 根据匹配信息实现对推广单元的再筛选7 l% h6 X4 P: n6 `4 `
11-6 通过推广单元获取关联的创意实现
7 R( h9 M  g0 r' _9 {9 o 11-7 填充检索服务响应对象
; I. s2 ]  Z) V 11-8 【完成功能】完善广告检索服务* {) ?8 r; z) i
11-9 【总结与作业】关于广告检索服务的介绍及作业
, |6 F7 ]* S2 u# |9 K
( i$ W6 X: @6 m7 {3 D) y第12章 Kafka 的安装与使用【不仅能应用在工作与面试中,还会用于架构优化】5 h1 s. h: M$ ^& R& ~; A, O, ]
Kafka作为消息队列可以实现消息的传递,目前已经被各大互联网公司应用到实际的企业级开发。这一章将会介绍怎样安装Kafka、简单的使用Kafka。同时,为了更好的理解它的工作过程,会以编码实践的方式展示其原生API的使用方法。...
( _) J) Z) N9 h, `) E* I 12-1 【理清概念】Kafka 基础知识的介绍" |* s4 y9 i5 c# p9 Q! ^9 F
12-2 【一起环境搭建】Kafka 的安装与使用
8 q% `' \2 S, K8 j+ F( m 12-3 【边学边做】使用原生API发送消息(1): Y4 d  S4 |! U9 E0 _1 Y6 l
12-4 使用原生API发送消息(2)
: }* z- W# n! p2 o 12-5 自定义分区分配器% l, O4 K# {7 \: M) _$ X/ f8 D0 F# ~
12-6 消费者与消费者组的概念
8 ~" H; C# {* r+ Y" L! G 12-7 使用原生API消费消息(1)  \, u) M+ W) z! E- |+ E5 R
12-8 使用原生API消费消息(2)
3 R, L9 ?! s  A. M, k9 K 12-9 使用原生API消费消息(3)
0 m1 Z5 }4 @9 O  T  O. \7 a0 C 12-10 【总结与作业】关于 Kafka 的介绍及作业5 ?& F6 Z* C, k: j2 c2 M
2 M4 g7 a' P+ X7 [
第13章 熔断监控Hystrix Dashboard【添加监控,完善系统】1 Q, P( ]! T7 O1 r: ^% v
微服务之间可以通过Feign实现调用,但是可能由于存在微服务不稳定的情况,导致调用失败。可以定义Hystrix实现断路器功能,并利用Hystrix Dashboard监控熔断情况。' P' T' A6 d! z: U% ~& W
13-1 Hystrix Dashboard 的介绍! j  U$ a$ c& K/ s9 ]) ?
13-2 Dashboard 模块的实现
7 M  c. d( a: l6 a( E 13-3 关于 Hystrix Dashboard 的介绍及作业
( ~. a; d% M+ l7 [# }
- P  _+ p" K3 ^' W6 V3 C第14章 广告系统的可用性测试【开发完功能,验证下是否好用】- v' ?; D8 V% R
通过测试用例和PostMan检验投放系统与检索系统的可用性。: ]( [1 k5 c- ^  d3 t% R; C
14-1 【构建测试环境】广告系统测试前的准备工作
) @3 M* E  b3 H# C 14-2 【总结与作业】mock 数据的内容
* B; a: H) u5 r/ V3 j 14-3 【功能上的测试】编写广告投放系统的测试用例
7 u+ k8 _, \9 E2 H7 I 14-4 编写广告检索系统的测试用例(上)
' z3 V7 J; k' O) r3 \0 i8 H  r3 d 14-5 编写广告检索系统的测试用例(下)8 F' x$ z* v. ]9 J# K9 u  V$ k* |
14-6 【总结与作业】关于广告系统可用性测试的介绍及说明+ P( D1 B( q& U% c5 `5 F
14-7 【接口上的测试】投放系统的 HTTP 接口测试
: [* M0 X3 k; `: J( ?9 m 14-8 【总结与作业】关于广告系统可用性测试的介绍及说明 - HTTP 接口测试; ^& o9 q* J5 ?: @- u$ M$ {& i1 M

" m9 l* {* o4 p: M$ z3 u第15章 课程总结
3 z/ Y7 X5 V& W对课程所介绍的内容做总结,列出所涉及到的知识点,回顾广告系统,并提出问题以及扩展方案。
% F. J. w1 {5 I0 G4 h: O8 U, d 15-1 课程总结1 Q- o- m9 E2 W. V$ G" \! z+ E

. Q0 z6 k) K2 N2 _2 ?# X, w( A

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

点击这里给我发消息

QQ|小黑屋|Archiver|手机版|一路学IT论坛 专业视频教程网站

GMT+8, 2026-10-28 13:01

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表