微服务架构介绍

什么是微服务架构(Microservice架构)

微服务架构是一种架构模式,他提倡将单块架构的 应用划分成一组小的服务,服务之间相互协调,相互配合,为用户提供最终价值。每个服务运行在单独的进程中,服务与服务之间采用轻量级的通信机制互相沟通。每个服务都围绕着具体业务进行构建,选择合适的语言和工具进行构建,并且能够被独立的部署到生产环境,类生产环境等。

传统MONOLITH架构

通常要开发的服务所对应的代码有多个项目所组成,各个项目会根据自身所提供功能的不同而具有一个明显的边界,在编译时,这些项目被打爆成一个个jar包,并最终合并在一起形成一个war包,然后将war包上传到web服务器中并解压。这种将所有的代码及功能都包含在一个war包中的项目组织方式,被称为Monolith,


微服务架构介绍_第1张图片
image.png

但随着项目的逐渐变大,开发流程的时间会变得很长。最终结果只有一个war包,仅仅修改一行戴安,也要花费大量时间对所有代码进行编译并重新部署。如果应用部署非常麻烦,还要为了测试进行环境设置,增加了大量枯燥的工作。且应用技术越来越多,混合使用语言几乎是不可能的。

微服务优缺点

微服务架构介绍_第2张图片
image.png

优点:
每个服务足够内聚,足够小,代码易理解,开发效率高。
服务直接可以独立部署,微服务架构让持续部署成为可能
每个服务可以各自进行x扩展和z扩展,且可以根据自己的需要部署到合适的硬件服务器上。
提高容错性,一个服务内存泄漏不会让整个系统瘫痪
系统不会长期限制在某个技术栈上。
缺点:
开发人员要处理分布式系统的复杂性
服务管理的复杂性
应用微架构的时机要把握,业务不清,数据和能力没有爆发增长不需要考虑微架构。

你可能感兴趣的:(微服务架构介绍)