You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ad-callback/分布式部署方案.md

1.6 KiB

用于 DMP 回流项目的分布式部署方案

1. 环境

  • 服务器

    • 118.195.141.114(10.206.0.8) 1
    • 118.195.181.101(10.206.0.7) 2
    • 118.195.179.228(10.206.0.2) 3
  • 应用服务

    • jar: ad-callback
    • nginx + KA

nginx(KA) -> ad_callback -> DB(查询) ad_callback -> DB(查询) ad_callback -> -> 计算

查【2台】 / 写(计算) 【1台】 -> 内存

内存 -> 统计 内存

2. 架构说明

  • Nginx + KA

    • KA 保证 Nginx 服务的高可用(虚拟网卡对外进行提供访问)
    • Nginx 进行负载均衡配置, 流量转发到3个 -> ad-callback 服务
    • 确保同一个 tag 在一个数据库上
  • 优化策略

    • 使用 3 库 * 16 表 来存数据, 优先对外做到, 使用本地策略来进行存储
    • Nginx 根据 tag 进行转发请求, tag请求会转发去查对应的服务器上的数据库来进行存储
  • 架构逻辑示意图


Req(tag=xxx1)      ->                                           ad-callback_1       ->   DB(db_1) => tb_{0...16}
                       (Nginx + KA) 策略分发请求到对应服务器   ->    ad-callback_2      ->    DB(db_2)  => tb_{0...16}
Req(tag=xxx2)      ->                                           ad-callback_3       ->   DB(db_3) => tb_{0...16}

  • 高可用策略
    • Nginx 高可用 -> 使用 KA 来进行保证
    • 服务高可用 -> 注册在 Nacos / Zookeeper 上进行处理/ 并且 使用监控面板进行监控可用状态
    • 数据库高可用 -> 目前不设计,因为这个数据和实效性有关,不具备很强的存储价值, 后续可用 PXC 或者别的数据库集群来保证

tag -> all