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/

posted @ 2022-12-04 12:09  君子键  阅读(33)  评论(0)    收藏  举报