SpringBoot学习笔记(二)–微服务简介
Microservices By martinFowler
https://www.martinfowler.com/articles/microservices.html
单体应用
单体服务器是构建这样一个系统最自然的方式。处理请求的所有逻辑都运行在一个单一进程中,允许你使用编程语言的基本特性将应用程序划分类、函数和命名空间。你认真地在开发机上运行测试应用程序,并使用部署管道来保证变更已被准确地测试并部署到生产环境中。该单体的水平扩展可以通过在负载均衡器后面运行多个实例来实现。
变更周期被捆绑在一起 —— 即使只变更应用程序的一部分,也需要重新构建并部署整个单体。长此以往,通常将很难保持一个良好的模块架构,这使得变更很难只发生在需要变更的模块内。程序扩展要求进行整个应用程序的扩展而不是需要更多资源的应用程序部分的扩展。
微服务
微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制 (通常使用HTTP资源API)。这些服务围绕业务能力构建,并且可通过全自动部署机制独立部署。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术。
总结
2014年,由 martin fowler 所写的博客文章,使得微服务这个概念进入大众视野。
微服务:架构风格(服务微化)
一个应用应该是一组小型服务;可以通过 HTTP 的方式进行互通;
单体应用:ALL IN ONE
微服务:每一个功能元素最终都是一个可独立替换和独立升级的软件单元。