如何理解基础服务和通用服务
何为基础服务? 何为通用服务?
问这两个问题的目的 是 想更好的确定 基础服务和 通用服务的 业务边界, 回答这个问题之前,我们 先看看 如下两个例子:积木和前端组件库的例子。
(1)积木的例子:
上面的 3 个 积木城堡 就是 用最基础的正方块、三角形、长方形、菱形等基础 搭建 成 3 中不同的样子。
最基础的形状 (正方块、三角形、长方形、菱形) 就是基础服务;飞机,救护车 路标 属于通用业务组件,可以理解为通用服务
(2) 前端的 各种组件库
这些 组件库 把基础的 按钮,提示,表单,一些展示组件 都已经做好了,那么 基于这些组件库 开发前端应用,就像是 在玩儿积木,把不同的组件 拼接在一起,就可以完成 一些通用的 功能。一些复杂的,还支持 自定义或者通过不同的配置项完成。比如: Vant
基础的按钮,提示,表单,展示组件,是基础服务; 像 Vant 提供的 地址编辑组件,地址列表组件,商品展示,购物车 属于 通用业务组件,可以理解为通用服务
举这两个例子, 主要想说明, 软件系统 中的 基础服务 和 通用服务 和 积木是一样的,复杂的 软件系统 都是 由一些基础能力 来组合而成的。
何为基础服务?
基础服务 是业务 无关的,提供 业务无关 的能力的服务,让需要这些基础能力的产品 可以 0 开发的接入。比如 集群容错能力,API 网关无感接入能力,延迟队列能力 等等这些都可以是基础服务。 基础服务一般以技术为导向的业务无关的能力(也可以理解为中间件化服务),比如 API 网关、电商中的延迟队列服务等。
何为通用服务?
通用服务是 提供 通用业务能力 的服务, 让需要 具有相同或者相似能力 产品 尽可能的 0 开发接入,比如短信能力(或者叫消息能力),文件上传下载能力等等 这些都可以是通用服务。通用服务一般是以产品为向导随着企业业务发展(沉淀)而产生的,比如 现在的互联网公司 肯定 都会涉及到短信,而且会接入好几家,那么在初期 可能几个工具类就搞定,随着公司发展,产品线越来越多,就需要 一个完善而且可扩展的消息系统(同时支持短信/邮件/微信公众号等平台)服务,再比如 评论系统服务,内容系统服务等。
如果积累足够的基础 、通用服务, 不管是任何业务,就跟搭积木的过程是一样的。
版权声明: 本文为 InfoQ 作者【Im胡子】的原创文章。
原文链接:【http://xie.infoq.cn/article/f58a1f5a8755a0695c9eb57c5】。文章转载请联系作者。
评论