微服务架构理解[架构图]
微服务架构
概念:把一个大型的单个应用程序和服务拆分为数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议。
定义:围绕业务领域组件来创建应用,这些应用可独立地进行开发、管理和迭代。在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单。
本质:用一些功能比较明确、业务比较精练的服务去解决更大、更实际的问题。
基于微服务架构的设计:
目的:有效的拆分应用,实现敏捷开发和部署
微服务的具体特征
官方的定义:
1、一些列的独立的服务共同组成系统
2、单独部署,跑在自己的进程中
3、每个服务为独立的业务开发
4、分布式管理
5、非常强调隔离性
大概的标准:
1、分布式服务组成的系统
2、按照业务,而不是技术来划分组织
3、做有生命的产品而不是项目
4、强服务个体和弱通信( Smart endpoints and dumb pipes )
5、自动化运维( DevOps )
6、高度容错性
7、快速演化和迭代
为了更好地理解微服务和设计微服务架构,列出几个比较经典的设计图辅助理解: