微服务介绍及spring cloud微服务架构概述

1 单体应用架构

1.1 单体架构概述

针对web应用而言,一个应用程序中包含了应用程序的所有功能。所有的程序、配置文件、页面、静态资源等都打包成了一个程序(通常打包成jar包或war包),部署到Tomcat上运行。

单体应用架构图如下所示:
单体应用架构图

1.2 单体架构优缺点

优点:

  • 易于部署:只需要将应用打包成jar包或war包即可,直接部署单个jar包或war包到Tomcat即可。
  • 易于横向扩展:当应用负载压力大时,将这个应用复制几份,分别部署在不同的服务器上,再通过负载均衡即可提高应用的并发能力。

缺点:

  • 复杂度高:由于是单个应用,所以整个项目文件包含的模块非常多,导致模块的边界模糊、依赖关系不清晰、代码的质量参差不齐,混乱的堆在一起,使得整个项目非常复杂。以致每次修改代码,都非常小心,可能添加一个简单的功能,或者修改一个Bug都会带来隐藏的缺陷。
  • 技术债务:技术的变更、开发人员的更替都会形成技术债务,项目到后面会越来越难维护。
  • 阻碍技术创新:由于是单体应用,团队开发人员必须使用统一的开发框架、统一的IDE、统一的中间件等,阻碍了开发人员的技术创新。
  • 协作难度大:一个项目往往是由团队多人共同完成,多个人维护一套代码,代码合并难度较大。
  • 横向扩展造成的资源浪费:单体应用只能横向扩展,造成服务器资源的浪费。

2 微服务架构

2.1 微服务架构概述

针对微服务的概述,引用James Lewis 和 Martin Fowler两位大神在2014年写的博客里的一段话:

In short, the microservice architectural style [1] is an approach to developing a single application as a suite of small services, each running in its own process and communic

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值