Spring Boot2——前言(笔记)

一、Spring与Spring Boot

1 Spring能做什么

1.1 Spring的能力

  • 微服务开发(Microservices):有一些小功能的服务。它们可组成一个大的服务。
  • 响应式编程(Reactive):使用异步数据,占用少量内存来构建高吞吐量的应用。
  • 分布式云开发(Cloud):指的是SpringCloud
  • 无服务开发(Serverless):函数式服务。将一个个函数上传到云平台,我们仅仅支付函数的费用,一次减少开销。
  • 事件式驱动(Event Driver):基于事件的方式建立实时数据流,通过响应式完成高吞吐数据的处理。
  • 批处理(batch):用于开发强大批处理应用程序。

1.2 Spring是什么

基于Java的轻量级的开源框架,业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。

  1. 宏观来说:我们通常说的Spring指的是Spring生态圈,它们通过合作帮助我们完成业务的处理。几乎囊括了所有的数据处理技术。
  2. 微观来说:就是我们常用的Spring Framework

2 Spring Boot2

Spring Boot底层是Spring Framework,用于整合Spring的整个系列技术栈。让我们不再囿于繁琐的配置过程。

2.1 Spring Boot2 与 Spring Boot

因为 Spring 5 最大的更新有了响应式编程,因此对应的 **Spring Boot2 ** 最大的区别也是响应式编程。此外,Spring5 是因为 Java 8 的更新支持接口的默认实现(感觉很像C++中的virtual),于是使得 Spring5 的很多底层设计也有了改动。
Spring boot2 准备了两套方案:

  • Servlet Stack:原生技术栈,即Spring MVC ,Spring security ,Spring Data Repositories的部分。
  • Reactive Stack:构架异步数据流的方式,构建响应式开发。

2.2 Spring Boot 优点

  1. 可以创建独立Spring应用
  2. 内嵌web服务器
  3. 自动starter依赖,简化构建配置
  4. 自动配置Spring以及第三方功能
  5. 提供生产级别的监控健康检查及外部化配置
  6. 无代码生成、无需编写XML
    整合、一站式、简化

2.3 Spring Boot 缺点

  1. “版本帝”,迭代快,需要时刻关注变化
  2. 封装太深,内部原理复杂,不容易精通

二、时代背景

1 微服务

  • 微服务是一种架构风格
  • 将一个应用拆分为一组小型服务
  • 每个服务运行在自己的进程内,独立部署与升级
  • 服务之间使用轻量级HTTP交互
  • 服务围绕业务功能拆分
  • 可以有全自动部署机制独立部署
  • 去中心化,服务自治,服务可以使用不同的语言不同的存储技术

2 分布式

将大型软件拆分成各种小服务独立部署,就会出现分布式问题。
分布式的困难

  • 远程调用:服务间相互远程调用。
  • 服务发现:服务在哪一台可用。
  • 负载均衡:在有大量请求时,合理分配请求给多个服务器,避免一些处理需求过多忙碌,一些处理过少闲置。
  • 服务器容错:网络不通等问题的处理。
  • 配置管理:一个配置中心,其他机器自动同步配置中心的配置。
  • 服务监控:每一个服务的健康状况,CPU,内存占用等。
  • 链路追踪:追踪到出错链路
  • 日志管理:分布网络的日志如何记录
  • 任务调度:一个任务的处理方式

分布式的解决
SpringBoot + SpringCloud:通过SpringBoot快速创建各个微服务模块,通过SpringCloud让他们互联互调。通过响应式数据流整合。

3 云原生(Cloud Native)

部署分布式时,原生应用如何上云。
上云的困难

  • 服务自愈:一个服务崩溃后,是否能够重新拉起该服务。
  • 弹性伸缩:当流量高峰时,一个服务不足时能自动扩充服务,高峰过去后又自动下线。
  • 服务隔离:同一个服务器的一个服务故障时,不会影响其他服务。
  • 自动化部署:能否自动化部署微服务。
  • 灰度发布:足部更新新的API。让一部分服务使用新的版本,待没有问题后,再大面积部署。
  • 流量治理:监控一个服务器的流量进出率等, 若服务器性能不行,则降低其分配的流量。

参考资源

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值