前言
经过了几个月的努力,初步建立了营销平台,也承载了几个营销活动。但是也存在规划工作不充分,
代码层面要求未规范,导致后续的营销活动策划,设计,管理,开发出现了一系列的问题,包括不能快速迭代接入
新的营销活动,不能及时响应运营和市场的节奏
一期应用搭建完成接入第一个活动之后,对于规范这块要求松懈,同时由于多个项目时间排期周期赶,
多人撸代码风格不一致,导致了一系列的技术债。所谓就是先污染后治理,经过这样的经验教训之后,也总结
了几点避免类似的情况再度发生:
1.承担应用OWNER职责,制定应用开发规范,对于包规范和通用概念先行制定好规则
2.架构评审和代码REVIEW要抓牢
目标
营销活动业务的难点
(一) 活动开发的复杂性
-
开发一个活动本身需要一定的工作量。尤其是大型的推广活动,这类型的活动对功能和性能的要求比较高
-
活动功能众多,包括新人注册,邀请分享,红包,砍价,支付等,这些不同的参与和表现形式,也会涉及更多的后端接口通信和联调
-
还有一个非常重要的问题,就是活动运营的安全和可靠性。因为,我们的活动,大多涉及金额,对安全风控要求很高。
(2)开发成本
-
传统手工开发模式,普通活动也需要1周的开发周期,而典型大型活动更是需要3-4周开发周期,开发和测试工作量繁重
-
后续如果针对节假日某些爆点营销,时间要求更紧张
希望解决的问题
- 组件化,产品模块解耦
- 扩展性不够强,对于不同形式的营销活动兼容性不够
- 建设高效活动开发模式,构建一套开发规范
- 保证营销活动的安全
- 代码规范,类属性命名统一化,包命名规范化,异常管理,日志规范化打印
准备做
- 规范营销体系架构,清晰每个产品再营销体系中的定位与关系
- 在设计新的营销活动运行和管理平台时,充分考虑各种营销活动的共性,在同一活动流程,明确活动要素的前提性,尽可能实现营销活动的配置化开发和管理。减少营销活动的开发成本,快速响应市场运营的各种活动需求
活动平台架构介绍
构建高效活动运营开发模式
1.组件化
分层、复用、简化,做到活动功能组件配置组合使用
- 统一路由组件:请求路由分发,全局异常捕获,日志打印
- 配置活动解析引擎:不同类型的活动配置组装,关联规则集合和动作集合
- 安全中心:风险控制,黑白名单
- 规则引擎:规则执行检验器
- 后台管理:运营活动设置
- Rule条件集合:渠道状态规则,活动时间规则,活动状态规则,活动人群规则,参与次数规则等等
- Action动作集合:发放红包,记录参与记录,通知用户等等
- 奖励组件:红包发放
- 通知组件:PUSH通知,短信提醒等等触达方式
- 统计组件:数据埋点,活动效果
- util:工具
2.核心UML图
核心类介绍
- ActivityRequest:活动请求对象,所有的活动请求类都需要实现该接口
- ActivityResponse:活动响应对象,所有活动响应对象都需要实现该接口
- ActivityDTO:活动数据传输对象,包括活动配置,以及一些中间处理传输数据,每个活动都需要定义各自的DTO,实现该接口
- CommonFactory:bean工厂,内部类Container作为Bean容器,存放活动相关的处理类。
- ActivityDispatch:活动路由分发,统一的路由服务,请求主入口
- IActivityDTOParser:ActivityDTO的解析器,主要完成DTO的组装
- IActivityHandler:活动处理器,根据不同的FunctionCode自行定义内部方法,对应不同的FunctionCode可以派生多个子类,子类内部可以抽象定义一套模板方法,具体交由各个活动自行实现
- IActivityResponseParser:活动响应对象解析器,主要完成Response的组装
FunctionCode 抽象流程
ACTIVITY_PARTICIPATE
对于后续可能扩展的功能,定义好一个FunctionCode,分析功能抽象出对应的模板方法,交由子类具体实现
3.服务治理
3.1 dubbo
- sentines接入:不被别人搞死
- 集群容错
- 设置调用超时时间
3.2 解耦,减少系统依赖的服务
- 减少跟其它分布式应用的依赖
3.3 业务降级
- 核心业务链路调用非核心服务,try catch降级,设置超时返回,转化为异步处理
3.4 监控告警
- kibana
- 日志监控(邮件、短信)
- 分布式链路追踪
- falcon
- zabbix
后期规划
1、设计一套日志埋点组件,专门用于活动埋点统计
2、产品层面上活动运营配置化,管理后台设计,支持组合搭配,快速响应运营需求
3、安全中心建设,支持多种风控规则
有兴趣的同学可以直接去github上面下载源码哦,https://github.com/caisl/activity-platform.git
来源:CSDN
作者:半点小鱼
链接:https://blog.csdn.net/dtlscsl/article/details/87288592