在典型的三层架构的应用中,分别是数据层、业务逻辑层和展示层。应用被垂直地分成不同的业务领域。MVC模式以及Rails和Django等框架都体现了三层模型。每一层都为其上一层提供服务:数据层提供持久化状态,业务逻辑层执行有效操作,而展示层则将结果展示给终端用户。
单个微服务会存储数据、执行一些业务逻辑操作并通过API将数据和结果返回给消费者。每个微服务都具备一项业务能力或者技术能力,并且会通过和其他微服务进行交互来执行某些任务。
单个微服务的抽象架构如图所示:
在微服务中,开发者对从规模到范围都在不断演变的内容进行规划。不仅要考虑组件自身,还要考虑这些组件之间的连接方式、放置位置以及如何并行地构建它们。
最重要的是,微服务并不是孤立地运行的。每个微服务都会和其他的微服务一起共存于一个环境中,而在这个环境中开发、部署和运行微服务。
摘取自 摩根·布鲁斯和保罗·A.佩雷拉的《微服务实战》
网友评论