From 688107b83191df4ca608e05d3446385ba32ea467 Mon Sep 17 00:00:00 2001 From: qyx <565485304@qq.com> Date: Sun, 17 Sep 2023 13:42:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E7=9A=84=E8=AE=A1=E5=88=92=E5=92=8C=E6=8E=92?= =?UTF-8?q?=E6=9C=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TODO-list.md | 19 ++++++++ .../JuliangMobileMonitorCallbackAPI.java | 4 ++ .../callback/MobileMonitorCallbackAPI.java | 6 +++ 分布式部署方案.md | 47 +++++++++++++++++++ 4 files changed, 76 insertions(+) create mode 100644 分布式部署方案.md diff --git a/TODO-list.md b/TODO-list.md index 90cae6b..dd919b3 100644 --- a/TODO-list.md +++ b/TODO-list.md @@ -89,6 +89,25 @@ ``` +--- + +- 2023年9月17日 + - todo 整理所有平台的广告效果监测文档 + - todo 编写所有平台配置的检测配置文档 + - todo 为生成 tag 提供统一的接口调用类, 应用系统及其他类进行调用其进行生成链接 + - todo 添加监测可视化计数, 对任务进行可视化监测 + - 每个 tag 入库量/当日实时监测, + - 大类 (tag 分类) 入库量/当日 7日汇总 + - todo 转化归因进行深度研究 + - todo 封装比对中间层服务, 所有应用服务的比对逻辑都统一进行调用中间层服务对外进行操作, 不能让应用层直接调用对外提供服务, 中间层支持应用层 + + + + + + + + diff --git a/src/main/java/com/baiyee/adcallback/api/callback/JuliangMobileMonitorCallbackAPI.java b/src/main/java/com/baiyee/adcallback/api/callback/JuliangMobileMonitorCallbackAPI.java index ca08ab6..ba9984d 100644 --- a/src/main/java/com/baiyee/adcallback/api/callback/JuliangMobileMonitorCallbackAPI.java +++ b/src/main/java/com/baiyee/adcallback/api/callback/JuliangMobileMonitorCallbackAPI.java @@ -17,9 +17,13 @@ import org.springframework.web.bind.annotation.RestController; import static com.baiyee.adcallback.common.constant.DataConstant.IMEI_TAG; /** + * ============================================= [弃用] ============================================= + * * juliang移动监控回调的api * * fixme 目前用于通配,在下一个版本中进行删除,对该项目代码进行重构,新的代码接口整合在以下类中 + * + * * @see MobileMonitorCallbackAPI * * @author q diff --git a/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java b/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java index 483968c..15aa3b6 100644 --- a/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java +++ b/src/main/java/com/baiyee/adcallback/api/callback/MobileMonitorCallbackAPI.java @@ -24,6 +24,12 @@ import java.util.Set; import static com.baiyee.adcallback.common.constant.DataConstant.*; /** + * ============================================= [过度] ============================================= + * + * + * 将在后续版本中进行弃用, 使用下面新的接口进行替代 + * @see MobileMonitorCallbackNewAPI + * * 移动监控 api * * @author q diff --git a/分布式部署方案.md b/分布式部署方案.md new file mode 100644 index 0000000..b5bef5a --- /dev/null +++ b/分布式部署方案.md @@ -0,0 +1,47 @@ +# 用于 DMP 回流项目的分布式部署方案 + + +## 1. 环境 +- 服务器 + - 118.195.141.114(10.206.0.8) + - 118.195.181.101(10.206.0.7) + - 118.195.179.228(10.206.0.2) + +- 应用服务 + - jar: ad-callback + - nginx + KA + + +## 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} + ad-callback_3 -> DB(db_3) => tb_{0...16} +Req(tag=xxx2) -> + +``` + +- 高可用策略 + - Nginx 高可用 -> 使用 KA 来进行保证 + - 服务高可用 -> 注册在 Nacos / Zookeeper 上进行处理/ 并且 使用监控面板进行监控可用状态 + - 数据库高可用 -> 目前不设计,因为这个数据和实效性有关,不具备很强的存储价值, 后续可用 PXC 或者别的数据库集群来保证 + + + + + +