标签:相同 好处 生命周期 arc 后台 轻量 开发 风格 持久
什么是MSA
微服务架构(Microservices Architecture ,MSA)
业界对于与微服务本身并没有一个严格的定义。James Leiws 和 Martin Flower 对微服务架构做了这样的定义:
“微服务架构风格就像是把小的服务开发成单一应用的形式,运行在其自己的进程中,并采用轻量级的机制通信(一般是HTTP资源API)。这些服务都是围绕业务能力来构建的,通过全自动部署工具来实现独立部署。这些服务可以使用不同的编程语言和不用的数据存储技术,并保持最小化集中管理。”
MSA包含如下特征:
MSA VC SOA
单体架构的列子
应用作为一体应用部署 有一些好处
- 易于开发——当前开发工具和IDE的目标就是支持这种一体应用的开发。
- 易于部署——只需要将WAR 文件或目录结构放到合适的运行环境下即可。
- 易于伸缩——只需要在负载均衡器下面运行应用的多分副本就可以伸缩。
但是这种应用一旦变大,团队增长看这种方法的缺点就越来越明显:
微服务架构正是解决单体架构缺点的替代模式。
微服务架构例子
一个微服务架构的应用或是多层架构,或是六角架构,并且包含 多种类型的组件。
业务逻辑(Business Logic )
应用的业务逻辑
数据库访问逻辑(Database access logic)
数据库访问对象用于访问数据库
应用集成逻辑(Application integration logic)
消息层,如基于Spring 的集成
这些逻辑组件分别响应应用中不同的功能模块。
最终的微服务架构解决方案
每个服务为了与其他服务器解耦,都有自己的数据库。必要时,数据库间的一致性通过数据库复制机制或应用级事件来维护。
这个方案 有一些好处:
每个微服务都相对较小
易于开发者理解
IDE 反应更快,开发更高效
Web 容器启动更快,开发更高效,提升了部署速度
每个服务都可以独立部署,易于频繁部署新版本的服务
当然这方案也有一定的弊病:
标签:相同 好处 生命周期 arc 后台 轻量 开发 风格 持久
原文地址:https://www.cnblogs.com/thelovelybugfly/p/9583564.html