4.2 什么是服务中心

    从传统架构的角度来看,很多人对服务中心的认识很容易形成一个固化的静态概念,认为服务中心就是一个提供服务的模块,做好了就一劳永逸,以后只要躺在服务中心上可以睡安稳觉,这是对服务中心一个最大的误解。

    服务中心更应该是一个充满生命力的个体,在整个体系中承担自己专门的职能,跟随整个体系一起发展进化。不过这个个体有很强的自我意识,有更大的发展自由度。

    我们从下面几个角度澄清一下服务中心的概念。

    1.服务中心一定是不断发展的

    服务和服务中心都是伴随业务发展变化的,淘宝的共享服务体系的发展如图4-1所示。

    从图中可以看到,淘宝的服务化架构也是逐步推进的,从最开始尝到服务化的甜头,到第二阶段全面推进服务化架构,建立共享业务事业部,再到第三阶段,由于上层业务的需求多样化以及对服务层提出更多定制化以及业务快速反应的需求,部分服务中心就逐步向平台化的方面演进。注意,这里的平台化还是基于服务体系,不过是为了更好地快速支持上层个性化业务以及原来业务的变化。

    从淘宝共享服务中心演变的过程,我们可以看出业务架构是能反映业务变化的,服务中心作为共享架构的核心元素一定也会体现出这种变化,所以不做过于超前的设计,也不做过于理想化的架构。

    空标题文档 - 图1

    图4-1 淘宝共享服务中心建设历程

    2.服务中心中的服务形态多样性

    有些人理解的服务中心是狭义的接口服务,这比较片面化,接口是服务最主要的形式。如果服务中心的服务都完全拘泥于接口这种形式,那又大大局限了服务中心的服务能力,或者会增加上层业务的使用成本。

    淘宝的商品中心的商品发布能直接提供用户操作界面,商品的类目管理也会有淘宝小二操作的界面,类似的交易中心、营销中心都有提供界面形式的服务能力。

    服务中心提供的服务能力不拘泥于形式,从大类来看,可以分成以下三类:

    ·依赖于接口的服务:这类服务是上层应用提供编程接口,接口可以是RPC,也可以是基于Web API的,从整体上来看,这里尽量统一会带来整体结构的简化。

    ·依赖于工具的服务:这类服务有两类,一类用于提供定制的配置服务,比如淘宝商品中心要设置前台类目体系,交易中心要配置业务的交易流程;另二类是运营管理类的工具,比如商品巡检服务。

    ·依赖于数据的服务:这里的服务主要是指对大数据的分析能力,实时交易型的数据能力一定要通过接口服务对外暴露。

    3.一个服务中心可以进一步划分吗

    回答是肯定的,服务中心是业务领域的概念,落地到业务架构上并不需要一一对应。服务中心是根据业务和数据的完整性与独立性来设立的,服务中心包含的子模块更多是从系统设计和业务架构层面来考虑的。我们认为,现实的业务往往不是那么简单,往往需要多个子服务模块协作配合才能更好地实现服务中心对外服务效率的最大化。所以在真实的服务中心场景中,以下两种形态都是正常的:单个服务模块、多个服务模块,参见图4-2。

    空标题文档 - 图2

    图4-2 服务中心的不同组成形式