共勉
"诸君离学校而去了。在社会上立身的困难,恐怕比在学校里求学还要加甚。若非立志奋斗,则以前所受的教育,反足以增加人生的苦恼,或转为堕落的工具。这是诸君所当特别注意的。事业的成功,须经过长时间的辛苦艰难——成功的代价,走过了许多荆棘的路,方才能寻获康庄大道。立志是砍荆棘斧斤,奋斗是劳力。万不可希望以最少的劳力,获最大的成功。" -- 蒋梦麟
Knight's Blog
滴滴海浪技术主管, 前百度资深研发工程师,现居上海。 擅长于大规模的系统平台服务架构。在

- 亿级别搜索平台(sov5.cn)
- 大规模分布式爬虫
- 中间件架设(disconf,CanalX)
- 广告平台(百度联盟广告)
- 租车平台(滴滴租车)
- 语言招聘平台(51tra.com)
- 内容平台(100weidu.com)
- 社区平台(python88.com)
- 资源下载平台(misou.com)
- 计算机图形图像技术(一篇一作)
- 机器学习(一篇一作)

等领域具有颇有经验。
联系方式: knightliao AT gmail.com
联系
Knight's Blog » 工作

架构系列之:业务服务化技术

2014-08-13 21:10
  • 当业务迅猛发展,应用层技术架构较陈旧,无法满足快速迭代的需求
  • 期望在流程、组件、模块、服务等,不同层面下的逻辑复用
  • 目标是构建易扩展、高性能、可快速迭代的服务化系统

模块化与服务化

  • 模块是一个内聚的组件集、是进程内重用的无状态代码块;
  • 服务是独立部署的模块或模块集; 服务可以是进程间重用的有状态模块集,也可是复用价值高的无状态模块集。

如何确定服务

  • 服务需要自包含。要达成边界明晰、高度内聚、外部松耦合的效果。
  • 服务要粒度适中。太小会造成接口爆炸、性能降低;太大会导致灵活度差,维护成本高。

业务系统服务化的思路

  • 提取多产品线公用服务,作为基础服务组件;
  • 横向对业务进行梳理,在高层次中将业务模型抽象出服务类别;
  • 纵向将模型逐渐拆解(按照主要业务功能拆分),业务模型->功能模型->领域模型->对象模型
1034 次点击