微服务和数据层
一种看待微服务的方式是每个微服务都是一个隐式的三层独立系统。不过我们通常不为每一个微服务都实现所有的层。了解之后,我们便能发现每个微服务都可以实现自己的数据层。这样的优势在于增加了各服务之间的隔离。
【以我的经验看,把企业的所有数据都放在一个单独的数据库或至少
相同的数据库类型里更加普遍。这种做法更常见,但不见得更好。
种方式各有利弊。若是系统之间的隔离很明显,部署变更就会更简单。反之,把所有数据都存在同一个数据库会让数据模型更为简单。
DevOpS、架构和弹性
我们已经从DevOps的角度看到微服务架构有许多值得拥有的特质。DevOps的一个重要目标是更快地为用户交付新特性。这是微服务提供的大量模块化所带来的结果。
那些担心微服务会提供一个毫无瑕疵的完美解决方案从而让生活变得没意思的人可以解脱了。微服务有它自己的挑战。
我们想要能够尽快部署新代码,但是我们也想要可靠的软件。
微服务在系统间有更多的集成点,比起单块系统来说更有可能失败。