大众点评同城活动的架构设计

大众点评同城活动的架构设计

ID:5365263

大小:6.04 MB

页数:21页

时间:2017-12-08

大众点评同城活动的架构设计_第1页
大众点评同城活动的架构设计_第2页
大众点评同城活动的架构设计_第3页
大众点评同城活动的架构设计_第4页
大众点评同城活动的架构设计_第5页
资源描述:

《大众点评同城活动的架构设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、大众点评同城活动的架构设计设计上的一些思考---薛赵明@inter12目录•同城活动的愿景•我们想做到的•面临的需求和挑战•宏观的架构设计•微观的设计原则•依然面临的问题同城活动的愿景愿景:成为优秀的活动信息平台相关涉众及其利益•点评:一个用户和商户的沟通平台•用户:得到免费试吃/体验的机会•商户:广告推广/点评星级我们想做到的•实用:满足各涉众利益需求•坚固:降低架构的衰减度,减少软件熵•美观:简单带点趣味的实现面临的需求和挑战---功能性需求用户可以查看活动信息用户可以报名活动用户可以得

2、到最新活动信息运营可以管理活动运营可以筛选及通知用户运营可以查看用户商户可以得到活动的效果数据面临的需求和挑战---非功能性需求在公司现有架构上折腾业务非常的复杂简单性可伸缩性性能可修改性可见性可靠性宏观的架构设计--架构风格•管道(过滤器)风格•复制仓库风格•分层风格•移动代码风格•点对点风格•RESTFUL谁是最适合我们的?OR一种全新的风格?宏观的架构设计--构建模式•竖井式•组件式•SOA宏观的架构设计--部署方式•独立部署•嵌入式•standalone宏观的架构设计-

3、-通信方式•同步•异步宏观的架构设计--前台部署结构图•模块的划分activity-web--->activity-service(SOA)

4、

5、--->activity-rule(嵌入式)ps:并没有从最高层区分服务组件层、服务层、业务流程宏观的架构设计--activity-web•架构风格:REST+点对点•构建方式:SOA•部署方式:独立部署•通信方式:同步+异步activity-webPC:混乱的ACTION构建(Struts2,历史遗留)M站:REST(SprintMVC)宏观的架构设计-

6、-服务层•服务的抽象--提取service-remote/api•服务的标准化1.服务功能展示的标准化:名词+动词(可查找性)2.服务数据的标准化:统一VO对象,贫血3.服务策略的标准化:契约式风格,不做防御式编程•服务的无状态•服务的可组合、可复用实体服务:相对粗粒度的服务(可组合)工具服务:辅助的服务(可复用)任务服务:相对细粒度的服务(可复用)•服务的自治--抽取了一个服务降级工具(嵌入式)宏观的架构设计--activity-service•架构风格:分层•构建方式:SOA•部署方式:独立部

7、署•通信方式:同步+异步工领域服务层具服务实体服务任务服务微观的设计原则---最少且一致概念模型原则:尽可能的保持少的概念,且概念的一致ACTION:Entity:表结构对应的实体对象VO:一切中间层的值对象Domain:业务上的抽象领域对象BO:涵盖多个Domain的业务处理对象Helper:非业务的工具对象示例:ActivityEntity、ActivityDomain、ActivityVO、ActivityBO、XXXHelper微观的设计原则--单一职责•原则:每个组件只维护一个

8、变化因子•目标:保证组件的独立进化性、可扩展性、可组合性微观的设计原则--开闭•原则:对修改关闭,对新增放开•目的:软件熵的增长来至于修改•ACTION:替换整个类优于局部修改微观的设计原则•原则:明确的接口语义优于参数类型化•目的:构建可自解释的服务,服务的可查找性•示例:activityQueryOnProceed();activityQueryOncomplete();-------------------------------------------------activityQuery

9、(intstatus);微观的设计原则--其他•不通过异常控制流程走向•任何异常都有处理机制•failfast:尽快失败,不用试图去拯救一个错误•并行一切可以并行的依然面临的问题•单活动的大报名量---hadoop•前台性能还有待提高---CQRSQA•软件开发是门艺术

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。