微服务架构是什么?
我们都知道微服务架构是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦。你可以将其看作是在架构层次而非获取服务的
类上应用很多SOLID原则。微服务架构是个很有趣的概念,它的主要作用是将功能分解到离散的各个服务当中,从而降低系统的耦合性,并提供更加灵活的服务支持。
概念:
把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。
定义:
围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和迭代。在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。
本质
用一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。
对于微服务架构思维上的转变有多重要?
微服务对我们的思考,更多的是思维上的转变。对于微服务架构:技术上不是问题,意识比工具重要。
关于微服务的几点设计出发点:
1、应用程序的核心是业务逻辑,按照业务或客户需求组织资源(这是最难的)
2、做有生命的产品,而不是项目
3、头狼战队,全栈化
4、后台服务贯彻Single Responsibility Principle(单一职责原则)
5、VM->Docker (to PE)
6、DevOps (to PE)
同时,对于开发同学,有这么多的中间件和强大的PE支持固然是好事,我们也需要深入去了解这些中间件背后的原理,知其然知其所以然,在有限的技术资源如何通过开源技术实施微服务?
最后,一般提到微服务都离不开DevOps和Docker,理解微服务架构是核心,devops和docker是工具,是手段。
下面就一起通过两份文档来深入了解微服务架构与它的设计模式,如果各位大佬对微服务架构有什么独特的见解欢迎在评论区留言指正。
微服务架构
第1章 微服务概述
- 什么是微服务
- 常见的微服务组件
- 常用的微服务框架
- 微服务架构设计模式
- 如何实施微服务
从微服务的起源和现实业务的角度探讨微服务