### 微服务 James Lewis and Martin Fowler (2014) 提出微服务完整概念。[https://martinfowler.com/microservices/](https://martinfowler.com/microservices/) In short, the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare minimum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.-- James Lewis and Martin Fowler (2014) ● 微服务是一种架构风格 ● 一个应用拆分为一组小型服务 ● 每个服务运行在自己的进程内,也就是可独立部署和升级 ● 服务之间使用轻量级HTTP交互 ● 服务围绕业务功能拆分 ● 可以由全自动部署机制独立部署 ● 去中心化,服务自治。服务可以使用不同的语言、不同的存储技术 ### 分布式 ![](https://img.kancloud.cn/f8/92/f8927a384db8df1fcc5ab8b68ac5eb62_1125x644.png =1000x) 分布式的困难 ● 远程调用 ● 服务发现 ● 负载均衡 ● 服务容错 ● 配置管理 ● 服务监控 ● 链路追踪 ● 日志管理 ● 任务调度 ● ...... ### 分布式的解决 ● SpringBoot + SpringCloud ![](https://img.kancloud.cn/87/fd/87fdb757944532cdd0acefc4385791c0_890x295.png =1000x) ### 如何学习SpringBoot 官网文档架构 ![](https://img.kancloud.cn/ec/29/ec295bff7bcc6db520b1550fe296d695_1125x571.png =1000x) ![](https://img.kancloud.cn/3c/07/3c076fe0955269030af8b2706131c875_1255x439.png =1000x)