服务层是业务处理中心,按重要程度的不同可以划分为核心服务、普通服务,按功能划分为不同的子系统或者模块。
服务粒度选取非常关键,细了往往就是过度设计,粗了达不到解偶的效果。合适的粒度,恰恰是考验一个架构师功力的时候。
系统设计是一件综合了产品需求、技术可行性、实现成本、产品定位、产品预期等多方面考量的产物。所以当我门看到一分系统设计稿的时候,那肯定不是两个小时的头脑风暴就可以诞生的。
但是,并不是说对需求有深刻理解之前就不能进行系统设计。敏捷开发提倡快速迭代,提供了很好的容错机制,鼓励大胆尝试。
对于万屏汇,基于我目前的了解,对服务的划分如下:
服务之间可以使用RPC通讯,或者使用rest风格,还可以使用异步通讯。例如报修,可以异步调用推送服务后立即返回。
服务随业务的发展或拆分或组合都是很常见的现象,我们要做的就是紧随业务,快速演进。
网友评论