美文网首页
单体应用与微服务的比较

单体应用与微服务的比较

作者: 初心myp | 来源:发表于2019-08-15 17:22 被阅读0次

单体应用架构

一个归档包(例如war包),包含所有功能的应用程序,我们通常称为单体应用。而架构单体应用的方法论,就是单体应用架构。
简单的单体应用架构图如下:

简单的单体应用架构图

单体架构优点:

  • 架构简单
  • 开发、测试、部署方便

单体架构缺点:

  • 复杂性高
  • 部署慢,频率低
  • 扩展能力受限
  • 阻碍技术创新

微服务

定义:


定义
微服务特性(1)
1、每个微服务可以运行在自己的进程里
2、一系列独立运行的微服务共同构建起整个系统
3、每个服务为独立的业务开发,一个微服务只关注特定的功能,例如订单管理、用户管理等
微服务特性(2)
1、可以使用不同的语言与数据存储技术(契合项目情况和团队实力)
2、微服务之间通过轻量级通信机制进行通信,例如REST API进行调用

(轻量级通信机制需要具备两点:通信的协议应该是轻量的;可跨平台)

3、全自动的部署机制

一个微服务的通用的架构图大概如下:

image.png

微服务优点:

  • 单个服务更易于开发、维护
  • 单个服务启动比较快
  • 局部修改容易部署
  • 技术栈不受限
  • 按需伸缩

微服务缺点:

  • 运维要求高
  • 分布式固有的复杂性
  • 重复劳动

微服务适用场景:

  • 大型、复杂项目
  • 有快速迭代的需求
  • 访问压力大

微服务不适用场景:

  • 业务稳定
  • 迭代周期长

相关文章

网友评论

      本文标题:单体应用与微服务的比较

      本文链接:https://www.haomeiwen.com/subject/olcadctx.html