该广告系统旨在给定情景下,媒体方根据关键字、地域、兴趣三个维度向用户展示创意,为广告主取得最大收益。
一个完整的广告系统通常包含以下子系统:广告投放系统、广告检索系统、曝光检测系统、扣费系统、报表系统。
该广告系统暂时只实现了广告投放和广告检索两个核心系统。
- Spring Cloud
- MySQL
- Kafka
- Junit
- 投放系统(ad-sponsor):根据广告基本信息,如创意、物料等,供广告主投放广告
- 检索系统(ad-search):媒体方根据广告主设定的条件筛选某次请求可为用户展示的广告
- 服务治理:Spring Cloud Eureka 组件提供服务注册和发现,配置多节点,实现高可用集群,提高系统稳定性,防止因单点故障导致系统宕机
- API Gateway:Spring Cloud Zuul 组件实现请求转发,自定义过滤器对接收到的 url 请求进行过滤,路由到相应的服务
- 负载均衡:Feign 创建声明式接口,Ribbon 实现客户端负载均衡,Hystrix 提供熔断、隔离,以防服务器雪崩