/ad-system-spring-cloud

基于SpringCloud的微服务在线DSP广告系统

Primary LanguageJavaApache License 2.0Apache-2.0

基于 SpringCloud 构建的微服务项目——广告系统

项目介绍

该广告系统旨在给定情景下,媒体方根据关键字、地域、兴趣三个维度向用户展示创意,为广告主取得最大收益。

一个完整的广告系统通常包含以下子系统:广告投放系统、广告检索系统、曝光检测系统、扣费系统、报表系统。

该广告系统暂时只实现了广告投放和广告检索两个核心系统。

项目技术栈

  • Spring Cloud
  • MySQL
  • Kafka
  • Junit

功能模块

  • 投放系统(ad-sponsor):根据广告基本信息,如创意、物料等,供广告主投放广告
  • 检索系统(ad-search):媒体方根据广告主设定的条件筛选某次请求可为用户展示的广告

架构介绍

  • 服务治理:Spring Cloud Eureka 组件提供服务注册和发现,配置多节点,实现高可用集群,提高系统稳定性,防止因单点故障导致系统宕机
  • API Gateway:Spring Cloud Zuul 组件实现请求转发,自定义过滤器对接收到的 url 请求进行过滤,路由到相应的服务
  • 负载均衡:Feign 创建声明式接口,Ribbon 实现客户端负载均衡,Hystrix 提供熔断、隔离,以防服务器雪崩