SpringBoot 学习笔记 003~004 基础入门-背景和文档
一、时代背景
1. 微服务
- 微服务是一种架构风格
- 一个应用拆分为一组小型服务
- 每个服务运行在自己的进程内,也就是可独立部署和升级
- 服务之间使用轻量级HTTP交互
- 服务围绕业务功能拆分
- 可以由全自动部署机制独立部署
- 去中心化,服务自治,服务可以使用不同的语言,不同的存储技术(微服务是一种架构风格,不是 Java 专有)
2. 分布式
2.1 困难
- 远程调用
- 服务发现:比如 B 服务在多台服务器上都有,该调用哪一台。
- 负载均衡
- 服务容错:服务器之间出问题后,到底是网络问题,还是服务器故障,访问不了后该如何处理
- 配置故障:一个服务在多台服务器上都有,应该将该服务的配置放在配置中心,否则调整的时候每台服务器都要调整
- 服务监控
- 链路追踪
- 日志管理
- 任务调度:比如 A 服务要执行一个定时任务,是每台服务器都触发,还是某几台触发,触发的时候是并行的方式还是串行的方式
2.2 解决
SpringBoot + SpringCloud -> Spring Cloud Data Flow
3. 云原生
原生应用如何上云。Cloud Native
3.1 困难
- 服务自愈:比如某一台服务器上的 A 服务出问题了,能否自动在其它的服务器上又启动了一个 A 服务
- 弹性伸缩:比如 C 服务只在两台服务器上有,当流量大时,自动在其他的服务器上扩充几台
- 服务隔离:一台服务器上有 A 和 B,A 出问题时不要影响 B
- 自动化部署
- 灰度发布:升级时只升级其中一台服务器,新老版本并存,新版稳定后,再全部升级
- 流量治理:不同性能的服务器处理不同大小的数据量
3.2 解决
尚硅谷的《大厂学院》
二、官方文档架构
https://docs.spring.io/spring-boot/docs/current/reference/html/
浙公网安备 33010602011771号