前言
继前一篇文章,我们对业务需求进行了大致的分析,在加上绘制了基本的业务模型,从而根据业务层次,把 景停系统 划分为了七大模块。
本篇开始之前,想问问大家,系统拆分为不同的微服务之后,那么存储用的数据库是否也有必要拆分吗?
答案是有必要的。
目前仍然有很多微服务团队,在开发时候,往往只是将服务拆分,存储仍共用一份数据库。这样做是不好的,因为微服务得以发展的原因之一就是解耦。
因此,在实施微服务架构时,我们通常建议遵循一个实践原则:每个微服务要有自己独立的数据库,避免数据库层面的耦合,这样某个服务的数据库发生改变不影响其它服务。
数据库的规范设计
上过软件工程的同学都知道,按照规范设计的方法论,将数据库设计通常分为以下6个阶段:
- 业务需求分析阶段
- 概念结构设计阶段
- 逻辑结构设计阶段
- 物理结构设计阶段
- 数据库实施阶段
- 数据库运行及维护阶段
其中的,第一阶段,需求分析我们在前一章已经处理。关于后面阶段,由于篇幅有限,我们就主要讨论其中的第二,三阶段,即概念和逻辑设计。
- 在概