一般来说服务能力包括两个层次,一个是底层paas的能力,PaaS层结局大型架构在分布式、可靠性、可用性、容错、监控以及运维层面上的通用需求;第二个层次是业务能力,业务能力提供云化的核心业务支撑能力,这层能力建设的好坏,直接决定了能否真正支持上层业务达到敏捷、稳定、高效。
1.1、淘宝的共享中心概貌
用户中心
商品中心
商品描述能力:商品的描述数据模型:类目属性体系、spu、sku等;商品存储模型:商品数据在数据库中的存储结构;对外提供的服务接口:上层业务通过接口操作商品数据。
商品发布能力:open api、浏览器、cs方式、app等
商品管理能力:spu数据自建;SPU(Standard Product Unit):标准化产品单元。是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。SKU=Stock Keeping Unit(库存量单位)。即库存进出计量的基本单元,可以是以件,盒,托盘等为单位。
例如:品牌苹果+型号:5s可以确定一个产品,即SPU 再加上颜色白色,尺码4.0,即表示一个SKU SPU + 颜色 + 尺码,就是一个SKU,SKU是从属于SPU的关系
商品巡检能力:商品生命周期,乱标商品名称等
商品数据分析的能力:运营小二日常运营、营销活动、类目调整,都需要数据支持,商品中心能自动推荐的类目数据并提供调整的决策支持。
商品评价能力:成功交易的订单,引入商品评价体系,识别正常的评价,提出恶意的差评和好评,建立更公平的商品评价体系。
交易中心
购物车、交易流程、订单管理、支持、结算、营销等。
店铺中心
卖家店铺管理、店铺装修、店铺生命周期管理、店铺日常管理等。
1.2、什么是服务中心
1、服务中心一定是不断发展的
2、服务中心的服务形态多样性
依赖于接口的服务:可以RPC、也可以基于web API,从整体上看,这里尽量统一会带来整体结构的简化。
依赖于工具的服务:定制的配置服务;或者运营管理类工具。
依赖于数据的服务:大数据的分析能力,实时交易型的数据能力一定要通过接口服务对外暴露。
3、一个服务可以进一步划分开
1.3、服务中心的划分原则
共享服务中心的结构目的是通过业务拆分来降低系统的复杂性;通过服务共享来提供可重用性;通过服务化来达到服务支持的敏捷性;通过统一的数据结构来消除数据交互的屏障。
从设计层面看,主要是遵循面向对象的分析和设计的方法,即业务和系统建模遵循面向对象的基本原则。
从运营层面看,服务中心应该是一个完整的业务模型,要有数据运营和业务整合的价值。
从工程层面看,共享服务的架构是基于分布式架构,分布式架构解决了一体化架构在大规模应用上的问题,但也引入了分布式事务、问题排查等方面的问题。
服务中心设计的基本原则:
1、高内聚、低耦合原则
高内聚是从服务中心的业务界域来说的,在一个服务中心内的业务应该是相关性很高、依赖性很高的;而服务中心之间应该是业务隔离性比较大的,即追求尽可能的低耦合。
2、数据完整性原则
数据模型统一。
3、业务可运维性原则
服务中心首先是从业务出发。单纯的技术层面抽象出来的服务框架一般不作为一个可运营的服务中心。服务中心承载业务逻辑,沉淀业务数据、产生业务价值的业务单元。
业务的运营型有两个含义,一是指业务本身的活力,当业务处于快速生长期,这时候运营目标是满足上层的业务需求,属于沉淀阶段;二是指业务内部孕育出来的创新想法。数据模型统一之后,可用很低的成本把大数据技术引入到服务中心的架构中,让数据来源、数据分析、业务生产可以自然形成闭环。所以能否用大数据能力提升运营水平是服务中心原则之一。
4、渐进性的建设原则
是从降低风险和实施难度这个角度出发,是一种敏捷实战,小步快跑的方式逐步推进。