# 用于 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请求会转发去查对应的服务器上的数据库来进行存储 - 架构逻辑示意图 ```text 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