互联网的快速发展,微服务架构已经成为了后端人员一个必备技能,今天我们就来分享微服务中四种常见架构模型,帮助我们更好的去了解微服务的发展。
洋葱架构
洋葱架构:Onion Architecture,它是由 Jeffrey Palermo(杰弗里·巴勒莫)在 2008年提出的,下图摘自作者原论文:
洋葱架构因为整个架构外形看似像洋葱,因此而得名,它在很大程度上依赖于依赖倒置原则,所有代码都可以依赖于更中心的层,但代码不能依赖于远离核心的层。换句话说,所有耦合都朝向中心。这种体系结构毫不掩饰地偏向于面向对象的编程,它将对象置于所有其他对象之上。
各层说明
- Domain Model:领域模型层,它是最中心的,代表了为组织建模真相的状态和行为组合,封装了企业级的业务规则;
- Model Services:领域服务,涉及多个实体的复杂业务逻辑,例如抽象存储库(仍然将实现细节留给外层,例如数据库连接);
- Application Services:应用程序服务,它定义了应用程序的业务流程;
- User interface/Infrastruc