Skip to content
跳到项目内容
全部项目
SDK 与交付/私有化交付

时代营销云私有化交付

小程序 API、PC 管理后台与数据面板的一体化部署

Spring BootKubernetesNacosRedisMySQL微信生态
时代营销云 · 私有化交付架构01 / 01

项目速览

业务背景

时代营销云面向地产营销团队,前台承接微信小程序和公众号触达,后台管理项目、活动、经纪人、客户与内容,数据面板把到访、活动、物料和渠道事实汇总成经营视图。私有化交付的难点不是把一个 Spring Boot 包复制到服务器,而是把四个代码单元、配置中心、数据库与缓存、消息组件、域名入口和健康检查组合成目标环境可以独立验收的部署边界。

负责范围
  • 拆分小程序 API、PC 管理后台、数据面板和公共 Maven 模块的职责
  • 核对微信、支付、短信、OSS、消息与数据分析等外部依赖
  • 整理 Kubernetes Deployment、Service、Ingress、ConfigMap 与探针边界
  • 将镜像、配置、数据库初始化、域名接入、日志和回滚纳入交付验收
  • 区分归档代码证据、目标环境依赖和上线后业务验收
4 个单元

交付组成

api-times、pc-api、sd-data-panel 与 ideamake-modules 的职责和边界可以从代码与部署文件核对。

3 个 Deployment

运行入口

小程序 API、PC 后台和数据面板分别有 Kubernetes 运行单元、端口与探针。

2 类探针

基础就绪信号

API 服务使用 readiness / liveness 路径,数据面板使用带 readinessProbe 参数的健康检查。

01

核心业务

时代营销云是一套面向地产营销团队的业务系统。微信小程序和公众号负责用户触达与项目浏览,PC 管理后台负责项目、活动、客户、经纪人、内容和运营配置,数据面板负责活动、到访、访客、物料、渠道和排行分析。归档中的代码不是一个单体应用,而是 api-times、pc-api、sd-data-panel 以及 ideamake-modules 组成的交付单元。

私有化交付要解决的是“这套系统在客户环境如何稳定运行并且能够验收”。因此需要同时说明服务职责、配置注入、数据库和缓存、消息协作、镜像发布、Ingress 路由、健康探针、日志和回滚。代码目录可以证明接口与部署结构,容量、SLA、客户数量和当前生产状态则必须由目标环境另行验证。

01小程序与用户触达
api-times 提供授权登录、手机号绑定、公众号授权、楼盘与项目浏览、活动报名、访客和分享等入口,并连接微信支付、短信与对象存储。
02管理后台与营销运营
pc-api 面向管理员、角色、权限、项目、品牌、文章、知识库、活动、优惠券、抽奖、报名、顾问、客户和报表配置,使用 Nacos 和动态数据源适配目标环境。
03数据面板与经营分析
sd-data-panel 汇总活动概览、趋势、排行、到访来源、访客画像、项目 / 品牌 / 物料 / 渠道排行,提供 Redis 统计、定时汇总和 Excel 导出。
04公共模块与运行依赖
ideamake-modules 提供订阅消息、品牌和公共基础能力;MySQL、Redis、RabbitMQ、Kafka、OSS、邮件和第三方平台由交付环境提供并单独验收。
02

技术栈

业务服务
Java 8Spring BootMyBatis-PlusMaven
接入与数据
微信小程序 / 公众号MySQLRedisOSS短信
异步协作
RabbitMQKafkaWebSocket@Async
后台与分析
NacosEasyExcelSpring MailXXL-JOBPrometheus
运行与交付
DockerKubernetesConfigMapIngress私有镜像仓库
03

系统架构与部署

小程序 API、PC 管理后台和数据面板分别部署,公共 Maven 模块在构建期复用;配置中心、数据组件和 Ingress 属于目标环境的运行边界。

小程序 API

api-times / Kubernetes Deployment / 8092

生产 Deployment 为 sd-api-prod-gray,配置挂载到 /config;readiness 与 liveness 通过 /api/health/ready、/api/health/live 判断服务是否可接流量。

PC 管理后台 API

pc-api / Kubernetes Deployment / 8380

Deployment 名称为 backend,Service 将 80 转发到 8380,Ingress 以 /market-backend/ 暴露 sapi.shidaijia.com;Nacos 配置由 ConfigMap 注入。

数据面板

sd-data-panel / Kubernetes Deployment / 8083

Deployment 名称为 data-panel,context path 为 /data-panel/,探针使用 /data-panel/healthy?type=readinessProbe;镜像由 Jib 构建。

公共模块

Maven modules / Java 8 / Spring Boot 2.1.4

订阅消息、品牌和公共基础能力在构建期被业务服务依赖;它们不是单独接收公网流量的服务。

配置与基础设施

Nacos / ConfigMap / MySQL / Redis / MQ / OSS

目标环境提供连接地址、账号、密钥、消息和存储能力;这些值不写入页面,也不假设归档配置可以直接用于生产。

镜像与入口

Docker / Kubernetes / Ingress / 私有 Registry

api-times、pc-api 和 data-panel 使用各自镜像与发布边界;镜像可按环境晋级,入口、证书和域名由客户集群验收。

04

核心业务链路

用户从微信入口进入活动并完成交易

  1. 1微信授权
  2. 2用户身份
  3. 3项目 / 活动
  4. 4报名
  5. 5支付下单
  6. 6渠道回调
  7. 7业务事件

api-times 将静默登录、手机号绑定、项目浏览、活动报名和支付接口放在同一条业务链路中。支付中心负责渠道差异和流水记录,库存预减与活动处理通过 Redis、消息和业务记录协作;回调成功后再由业务事实推动后续通知和统计。验收需要覆盖授权、重复报名、库存边界、支付回调和失败重试。

运营人员在后台配置项目并查看数据

  1. 1PC 后台
  2. 2项目 / 客户 / 活动配置
  3. 3业务事实
  4. 4统计汇总
  5. 5数据面板 / 导出

pc-api 收敛管理员、角色、权限和项目运营配置,业务服务产生的活动、访客、物料和渠道事实进入统计与汇总链路,sd-data-panel 负责查询、排行和 Excel 导出。验收要把权限范围、时间口径、汇总延迟和导出内容一起核对。

私有环境发布后接入流量

  1. 1镜像
  2. 2ConfigMap / Nacos
  3. 3Deployment
  4. 4探针
  5. 5Service / Ingress
  6. 6业务回读

发布先确认镜像版本和配置来源,再检查容器启动、依赖连接和健康探针。探针通过后才允许 Service 和 Ingress 接流量,随后用真实业务路径回读,而不是只用 HTTP 200 判断交付完成。异常时按镜像、配置、数据库迁移、域名和业务数据分别回滚或修复。

05

关键机制与取舍

01服务边界:按入口和事实拆分

约束
小程序请求、后台运营和分析查询的流量模式不同,全部塞进一个部署单元会让权限、发布和故障定位互相影响。
做法
api-times 负责移动端和微信生态入口,pc-api 负责管理运营,sd-data-panel 负责统计查询;公共模块通过 Maven 依赖共享,服务之间用明确的接口、事件和数据边界连接。
效果
可以分别发布和扩容,登录或报表问题不会自动等同于全部业务不可用,交付验收也能按服务单元拆开。

02环境配置:构建与运行分离

约束
客户环境的数据库、缓存、消息、对象存储和第三方凭据不同,直接把配置打进镜像会阻断晋级并扩大泄露面。
做法
镜像只包含应用和依赖,Nacos、ConfigMap 和挂载目录负责注入环境配置;交付清单记录配置项、来源、变更方式和回滚版本,敏感值只在目标环境管理。
效果
同一应用制品可以进入不同环境,配置变更有独立审计边界,归档材料不会暴露真实密钥。

03支付协作:回调确认事实

约束
支付请求、库存预减和渠道回调不在同一个事务里,网络重试或重复回调可能导致重复处理或提前释放库存。
做法
订单和支付流水使用业务标识关联,Redis 参与库存预减,RabbitMQ / Kafka 承担异步通知;回调先校验渠道事实和幂等记录,再发布支付成功事件,订阅方按业务标识处理。
效果
支付状态、库存状态和通知状态可以分别解释,重复回调不会自动创建第二次业务处理;目标环境仍需按渠道沙箱或生产规则回归。

04数据面板:事实与查询模型分离

约束
活动和访客明细持续增长,报表请求如果每次都扫描业务表,会把运营查询和交易写入耦合起来。
做法
业务事实与埋点进入统计适配和定时汇总,Redis 保存统计结果,data-panel 按活动、访客、项目、品牌、物料和渠道提供查询与导出;汇总任务与页面查询分别记录时间口径。
效果
报表可以围绕稳定的查询模型组织,运营能够看到趋势和排行;数据延迟、重算和导出完整性仍属于交付验收项。

05探针与验收:运行就绪不等于业务完成

约束
进程启动且探针通过,只说明应用达到接流量的基础条件,不能证明微信授权、权限、支付或报表口径正确。
做法
先验证端口、配置、依赖和 readiness / liveness,再执行登录、项目、活动、报名、支付回调、后台权限、统计和导出回读;每个服务保存镜像、配置和业务验证记录。
效果
发布故障可以快速定位在运行层还是业务层,私有化交付从“容器启动”提升到“业务闭环可验收”。
06

私有化交付

交付以目标环境为准:代码归档负责说明模块和部署契约,客户环境负责提供依赖和真实配置,业务验收负责确认链路可用。每个服务都绑定镜像版本、配置来源、探针结果和关键流程回读。

  1. 1资产盘点核对源码模块、POM、Docker / Kubernetes 清单和外部依赖
  2. 2环境准备建立命名空间、镜像拉取权限、配置来源、数据库与消息资源
  3. 3服务发布按 API、后台、数据面板分别部署并检查容器、日志与探针
  4. 4入口接入配置 Service、Ingress、域名、证书和前端访问路径
  5. 5业务回读执行授权、项目、活动、报名、支付、权限、统计和导出用例
  6. 6交付留档保存镜像摘要、配置版本、数据库变更、验收记录和回滚入口
4 类

验收对象

运行状态、配置与依赖、接口与权限、业务数据与报表分别检查。

3 条

健康路径

api-times 的 ready / live 与 data-panel 的 readinessProbe 路径需与 Service 接流量前的配置一致。

1 份

交付记录

镜像、配置、数据库变更、域名入口和回滚版本放在同一份交付记录中,便于复盘。

不能直接替代验收的证据

  • 容器启动成功只能证明进程完成启动,不能证明权限、支付回调或报表口径正确。
  • readiness 通过只能说明达到基础接流量条件,仍需执行真实业务路径和外部依赖回读。
  • 源码能编译不能证明客户配置、数据库迁移、域名、证书和消息组件已准备好。
  • 归档中存在生产 YAML只能说明曾经设计过部署结构,不能推断当前集群、容量或线上状态。
07

阶段成果

  • 形成一套可交付的时代营销云私有化项目地图,覆盖业务服务、公共模块、数据域和运行依赖。
  • 将镜像、配置、集群资源、域名入口、健康检查、业务回读和回滚分成可执行的验收对象。
  • 沉淀从微信触达、活动与支付到数据分析的排障路径,同时明确归档代码不能替代目标环境容量和生产状态证明。

继续浏览

时代营销云私有化交付 · 时代营销云 · 私有化交付架构
100%
时代营销云私有化交付放大预览

时代营销云 · 私有化交付架构

别急,先让缓存热一下。