海外华人创业者评估国内综合完整版时技术评审应先看到「同城中台系统」的模块边界与数据主键设计而不是先争论营销页面漂不漂亮。下文用目录树、中台服务划分、部署片段与验收清单说明统一后台、数据互通、能力共享如何在架构层落地。示例配置为教学示意。无中台 vs 有中台架构对照无中台典型形态外卖、跑腿、团购各自独立部署各自user_id生成策略营销服务重复建设。有中台形态共享platform-core用户主数据、权限组织、营销引擎各业务模块作为biz-module-*挂载订单域独立、主数据统一。痛点「营销能力难复用」在架构上的翻译是活动规则应写入中台侧marketing-service业务模块通过 RPC/事件订阅生效而不是每个模块复制一份券引擎。模块目录树教学示意国内综合完整版可按中台 业务模块拆分名称以当期交付为准guanghe-o2o-platform/ ├── platform-core/ │ ├── gateway-service # API 网关鉴权、限流、路由 │ ├── auth-service # 登录、Token、多端会话 │ ├── user-center-service # 用户主数据、会员等级 │ ├── merchant-center-service # 商家主体、入驻审核 │ ├── marketing-service # 券、满减、积分中台共享 │ ├── permission-service # 角色、分站数据范围 │ └── audit-service # 操作审计、导出任务 ├── biz-modules/ │ ├── waimai-service # 外卖订单域 │ ├── paotui-service # 跑腿订单域 │ ├── tuangou-service # 团购订单域 │ └── ... # 其余模块按采购开通 ├── admin-console-api # 统一运营后台 API ├── station-api # 分站 APIstation_id 过滤 └── deploy/ ├── docker-compose.yml └── env.example专项定制预算应优先冻结platform-core与已购biz-modules的联调范围界面层可后置。统一后台权限组织模型统一后台在代码层的核心是同一套permission-service角色模板通过 scope 绑定到多模块菜单。-- 教学示意角色-模块-分站范围CREATETABLErole_module_scope(role_idBIGINTNOTNULL,module_codeVARCHAR(32)NOTNULL,station_idBIGINTNULL,can_readTINYINT(1)DEFAULT1,can_writeTINYINT(1)DEFAULT0,PRIMARYKEY(role_id,module_code,station_id));验收要点新增分站角色后是否一次授权即可访问已开通模块越权读邻区订单应被station-api拒绝。数据互通用户与营销主键跨模块营销复用依赖user-center-service的全局user_idALTERTABLEwaimai_orderADDCOLUMNglobal_user_idBIGINTNOTNULL;ALTERTABLEpaotui_orderADDCOLUMNglobal_user_idBIGINTNOTNULL;CREATEINDEXidx_waimai_userONwaimai_order(global_user_id);CREATEINDEXidx_paotui_userONpaotui_order(global_user_id);营销侧通过marketing-service发布规则模块订阅生效{rule_id:CROSS_BIZ_FULL_REDUCE_001,scope_modules:[waimai,paotui],trigger:order_paid,payload:{threshold_cent:5000,reduce_cent:800}}试点验收同一global_user_id在两模块各下一单券核销与会员成长是否一致。能力共享中台升级事件中台新增能力通过版本化配置下发避免每模块 fork 代码PLATFORM_CORE_VERSION:2.4.0MARKETING_ENGINE_MODE:sharedSTATION_SCOPE_ENFORCE:trueMODULES_ENABLED:waimai,paotuidockercompose-fdeploy/docker-compose.yml up-dmysql redis mqdockercompose-fdeploy/docker-compose.yml up-dgateway auth-service user-center-service marketing-servicedockercompose-fdeploy/docker-compose.yml up-dwaimai-service paotui-service admin-console-api订单链路架构层怎么验以跨模块试点为例关注「谁持久化、谁广播」用户在外卖模块创建订单 →waimai-service落库携带global_user_idmarketing-service监听order.paid写核销记录同一用户在跑腿模块下单 →paotui-service读取同一用户营销余额admin-console-api导出跨模块结算枚举与两模块状态机一致非法状态跳转由各模块订单服务拒绝审计进audit-service跨业务订单索引可选组件CREATETABLEorder_index(idBIGINTPRIMARYKEY,biz_typeVARCHAR(32)NOTNULL,biz_order_idVARCHAR(64)NOTNULL,global_user_idBIGINTNOTNULL,amount_centINTNOTNULL,statusVARCHAR(32)NOTNULL,created_atDATETIMENOTNULL,UNIQUEKEYuk_biz(biz_type,biz_order_id),KEYidx_user(global_user_id,created_at));统一后台列表读order_index明细回各业务库。禁止只靠 CSV 手工拼接充当「数据互通」。私有化源码交付边界交付物源码或制品 部署脚本 环境差异表客户环境独立 MySQL、Redis、MQ演示/试水/生产库分离定制未写入首期的字段、界面、对接密钥单独约定禁用口径不写云端 SaaS 租用写私有化独立部署架构验收清单目录树能指着说明中台 core 与 biz-modules 边界同一用户跨模块 ID 一致营销规则一次配置、多模块生效已开通范围内分站station_id过滤有效compose 或脚本能在客户 VM 烟测一笔跨模块单结算导出字段分列异常单有原因码技术小结「同城中台系统」的架构交付应能指着platform-core说明统一后台与能力共享指着各biz-module说明订单域解耦与数据互通。海外华人创业者带着营销复用诉求回国落地地级市平台时专项定制预算优先锚定中台联调与主数据比先改皮肤更接近工程事实。光合同城国内综合完整版按成品 私有化源码交付八大模块可组合采购业务规则由客户自行确定。营销事件与幂等架构侧跨模块营销命中依赖事件总线建议至少三类 topicorder.paid marketing.coupon_redeemed marketing.campaign_depleted消费方写明幂等键global_user_id campaign_id biz_order_id防止重复核销EventListenerpublicvoidonOrderPaid(OrderPaidEvente){Stringideme.getGlobalUserId():e.getCampaignId():e.getBizOrderId();if(redeemLog.exists(idem))return;marketingService.redeem(e);redeemLog.save(idem);}架构评审把幂等策略写进附件比只写「用了 MQ」更接近可验收事实。权限拒绝测例自动化示意# 分站 token 读取邻区订单期望 403curl-s-o/dev/null-w%{http_code}\-HAuthorization: Bearer$STATION_A_TOKEN\https://api.example/station/orders?station_idNEIGHBOR观测与扩面门槛试水期只观察四类指标跨模块用户合并率、营销同步失败数、导出任务失败率、越权拒绝是否生效。指标用于决定是否扩第二个商圈不用于对外承诺单量。架构是否合格看指标能否从系统取出而不是看大屏是否炫。回滚与环境差异deploy/env.example应列明MySQL/Redis/MQ 版本、JWT issuer、备份路径、回滚步骤至少数据库快照 制品版本号。演示、试水、生产三库分离写进验收附件。共用库会让试水营销配置污染正式报表也会使财务对账失去可信数据。分站 API 数据范围过滤器示意ComponentpublicclassStationScopeFilterimplementsHandlerInterceptor{publicbooleanpreHandle(HttpServletRequestreq,...){LongstationIdauthContext.currentStationId();if(stationIdnull)returntrue;// 总后台req.setAttribute(STATION_SCOPE,stationId);returntrue;}}-- 订单查询必须带 station 条件SELECT*FROMorder_indexWHEREstation_id:stationScopeANDglobal_user_id:uid;营销库存一致性跨模块UPDATEcampaign_stockSETremainremain-1WHEREcampaign_id:cidANDremain0;-- 两模块并发核销时行锁保证总库存一致评审时问外卖与团购同时命中同一 campaign库存是否只扣一次。答不上来则「营销能力共享」未落地。交付物清单架构附件模块目录树与职责说明中台 core 与 biz-module 依赖图跨模块试点时序图文字版即可compose/脚本与 env 模板幂等键与权限拒绝测例回滚步骤与环境差异表以上齐才称完成「同城中台系统」架构说明型交付对照。海外华人创业者场景的架构优先级回国落地地级市时专项定制预算常见冲突业务方想先做界面架构方应先冻结global_user_id与marketing-service联调。理由很直接——界面可后改主数据一旦分裂跨模块营销复用要付指数级返工。建议评审顺序① 中台 core 能否独立拉起② 两模块能否共享 campaign③ 分站 scope 是否生效④ 再讨论 UI 主题与字段定制。这与「功能拆解」文体一致先机制后皮肤。与 W1 代驾单模块的边界差异代驾专题验四端闭环综合版专题验跨模块主数据与营销复用。架构说明型文章不应把代驾目录树原样贴进综合版而应突出platform-core与order_index一类横切能力——这是同 keyword「同城中台系统」在 CSDN 侧应有的技术侧重。