[Spring cloud 一步步实现广告系统] 18. 查询返回广告创意

根据三个维度继续过滤 在上一节中我们实现了根据流量信息过滤的代码,但是我们的条件有可能是多条件一起传给我们的检索服务的,本节我们继续实现根据推广单元的三个维度条件的过滤。 在 类中添加过滤方法 定义三个方法实现过滤 根据推广单元id获取推广创意 我们知道,推广单元和推广创意的关系是多对多,从上文我们 ...

IsaacZhang @ 2019/08/14

[Spring cloud 一步步实现广告系统] 17. 根据流量类型查询广告

广告检索服务 功能介绍 媒体方(手机APP打开的展示广告,走在路上看到的大屏幕广告等等) 请求数据对象实现 从上图我们可以看出,在媒体方向我们的广告检索系统发起请求的时候,请求中会有很多的请求参数信息,他们分为了三个部分,我们来编码封装这几个参数对象信息以及我们请求本身的信息。Let's code. ...

IsaacZhang @ 2019/08/13

[Spring cloud 一步步实现广告系统] 16. 增量索引实现以及投送数据到MQ(kafka)

实现增量数据索引 上一节中,我们为实现增量索引的加载做了充足的准备,使用到 开源组件来实现MySQL 的binlog监听,关于binlog的相关知识,大家可以自行网络查阅。或者可以 本节我们将根据binlog 的数据对象,来实现增量数据的处理,我们构建广告的增量数据,其实说白了就是为了在后期能把广告 ...

IsaacZhang @ 2019/08/12

[Spring cloud 一步步实现广告系统] 15. 使用开源组件监听Binlog 实现增量索引准备

MySQL Binlog简介 什么是binlog? 一个二进制日志,用来记录对数据发生或潜在发生更改的SQL语句,并以而进行的形式保存在磁盘中。 binlog 的作用? 最主要有3个用途: 数据复制(主从同步) Mysql 的Master Slave协议,让Slave可以通过监听binlog实现数据 ...

IsaacZhang @ 2019/08/12

[JVM 相关] Java 新型垃圾回收器(Garbage First,G1)

"回顾传统垃圾回收器" HotSpot 垃圾收集器实现 Serial Collector(串型收集器) 使用场景,大多数服务器是单核CPU。 适用收集场景:1. 新生代收集(Young Generation Collection)2. 老年代收集(Old Generation Collection) ...

IsaacZhang @ 2019/08/06

[Spring cloud 一步步实现广告系统] 7. 中期总结回顾

在前面的过程中,我们创建了4个project: "服务发现" 我们使用Eureka 作为服务发现组件,学习了 ,`Eureka Client`的使用。 Eureka Server 1. 加依赖 2. 加注解 3. 改配置 使用Sprint Boot 项目三部曲,我们可以快速添加一个新组件,并正常使用 ...

IsaacZhang @ 2019/07/30

[Spring cloud 一步步实现广告系统] 6. Service实现&Zuul配置&Test

DAO层设计实现 这里我们使用 来实现数据库操作,当然大家也可以使用 ,都是一样的,我们依然以用户表操作为例: JPARepository 的默认实现方法,如果我们只是继承了 而没有实现具体的操作方法,我们也是可以通过使用它的默认方法来做 操作的,如下: 功能Service实现 创建service ...

IsaacZhang @ 2019/07/29

[Spring cloud 一步步实现广告系统] 4. 通用代码模块设计

一个大的系统,在代码的复用肯定是必不可少的,它能解决: 1. 统一的响应处理(可以对外提供统一的响应对象包装) 2. 统一的异常处理(可以将业务异常统一收集处理) 3. 通用代码定义、配置定义(通用的配置信息放在统一的代码管理中,便于维护和更新) 创建项目 POM文件 项目结构 vo (统一响应对象 ...

IsaacZhang @ 2019/07/29

[Spring cloud 一步步实现广告系统] 5. 投放系统配置+启动+实体类

广告投放系统启动主类说明 配置信息 创建实体对象 实体类和数据库表一般是一一对应,通常称之为 ,以用户表为例: "Lombok传送门" 其他的数据库对应实体类( ,`AdPlan AdCreative AdUnitDistrict AdUnitHobby AdUnitKeyword Relation ...

IsaacZhang @ 2019/07/29

[Spring cloud 一步步实现广告系统] 3. 网关路由

Zuul(Router and Filter) WIKI: "传送门" 作用 1. 认证,鉴权(Authentication/Security) 2. 预判(Insights) 3. 压力测试(Stress Testing) 4. 灰度/金丝雀测试(Canary Testing) 5. 动态路由(D ...

IsaacZhang @ 2019/07/27

[Spring cloud 一步步实现广告系统] 2. 配置&Eureka服务

父项目管理 首先,我们在创建投放系统之前,先看一下我们的工程结构: 就是我们的广告投放系统。如上结构,我们需要首先创建一个Parent Project 来编写父项目的pom,来管理我们的统一依赖信息。 服务发现 Eureka Eureka Server (提供服务的注册和发现) Eureka Cli ...

IsaacZhang @ 2019/07/26

[Spring cloud 一步步实现广告系统] 1. 业务架构分析

什么是广告系统? 主要包含: 广告主投放广告的《广告投放系统》 媒体方(广告展示媒介 )检索广告用的《广告检索系统》 广告计费系统(按次,曝光量等等) 报表系统 Etc. 使用技能栈 JDK1.8 MySQL 8+ Maven 3+ Spring cloud Greenwich.SR2 Eureka ...

IsaacZhang @ 2019/07/26

[Java 开发利器Lombok] 常用注解演示

在以往的对象模型编码时,我们需要写一大堆的get/set以及不同的构造函数等。Lombok为我们提供了一个非常好的插件形式。 在大多数的项目中,只需要使用到以下集中Annotation就足够了,如果需要查看更多的选项,请参考: "传送门" 1. 2. 3. 4. 生成final 字段的构造函数 5. ...

IsaacZhang @ 2019/07/25

使用maven快速入门

Maven 基础知识 官网: "传送门" Maven 项目结构 json $ MavenProject | pom.xml | src | | main | | ` java | | ` resources | ` test | | ` java | | ` resources ` README.m ...

IsaacZhang @ 2019/07/25