微服务组织架构
原有的DouTok服务有8个模块:分别是api, comment, favorite, feed, message, publish, relation, user。这样的划分方式不利于DouTok可持续化发展。DouTok本质上是一个“玩具”,繁琐的模块划分使得DouTok并不容易被维护;每次想进行部署也需要复杂的部署流程。为了DouTok能尽可能的“成长”,我们决定对DouTok的服务划分进行改造。
微服务的划分完全遵从“业务”,同时在一定程度上考虑可扩展性,进行一定程度的“过度设计”以满足对多种技术、思想的实践。
服务种类
DouTok的服务可以分为如下3类:
- 业务网关型服务:对用户开放一个业务领域内的所有接口
- 业务支撑型服务:只会被一个业务领域所依赖的服务
- 基础型服务:会被不同业务领域所依赖的服务
如上3中类型的服务,从上到下逐渐靠近底层,约定同级别的服务不可互相依赖,只能由上级服务依赖于下级服务。
在服务内部,尽可能开发内聚的功能模块,便于有朝一日进行服务拆分