SpringBoot 2 系列一:SpringBoot 背景

开发环境要求

JDK 版本:Java 8 以上

java -version

Maven 环境:Apache Maven 3.3 以上

mvn -v

Maven 配置

修改maven全局配置文件 D:\JavaDev\apache-maven-3.6.3\conf\settings.xml 文件
使用阿里云镜像
配置使用 jdk1.8 编译项目

<mirrors>
      <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
      </mirror>
  </mirrors>
 
  <profiles>
         <profile>
              <id>jdk-1.8</id>
              <activation>
                <activeByDefault>true</activeByDefault>
                <jdk>1.8</jdk>
              </activation>
              <properties>
                <maven.compiler.source>1.8</maven.compiler.source>
                <maven.compiler.target>1.8</maven.compiler.target>
                <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
              </properties>
         </profile>
  </profiles>

SpringBoot 与 Spring

SpringBoot 是一个高层框架,底层是Spring框架,整合了Spring系列技术栈。

Spring 5 重大升级

引入响应式编程

Spring组合提供了两个并行技术栈。Spring Security都提供了对这两个栈的本地支持:

  • 一种是基于原生的带有Spring MVC和Spring Data构造的Servlet API。
  • 一个是完全响应式技术栈,它利用了Spring WebFlux和Spring Data的响应式存储库,通过构建异步数据流的方式完成响应式开发。
    在这里插入图片描述

内部源码设计

Java8 的一些新特性(比如接口默认实现)、重新设计源码结构。

为什么要使用SpringBoot

Spring Boot 很容易创建独立的、基于Spring的生产级应用程序,可以“直接运行”。

  • 创建独立的Spring应用程序

  • 直接嵌入Tomcat、Jetty或Undertow(不需要部署WAR文件)

  • 提供自动的“starter”依赖项来简化构建配置

  • 自动配置Spring和第三方库

  • 提供可用于生产的特性,如监控、运行状况检查和外部化配置

  • 自动化配置不需要额外的代码生成,也不需要XML配置

SpringBoot 的时代背景

微服务

什么是微服务?

  • 微服务是一种架构风格,将一个应用拆分成一组小型服务,每一个服务都可以独立运行部署,服务之间使用轻量级的Http交互
  • 每个服务围绕业务进行拆分,可以由全自动部署机制独立部署
  • 去中心化,服务自治。每个服务可以使用不同的语言开发、不同的存储技术。

分布式

一个大型应用被拆分成多个微服务独立部署时,必然就产生分布式。分布式就是将一个服务部署在多台服务器上,这样就面临着分布式难题:

  • 远程调用
    微服务之间互相远程调用,通过Http实现通讯
  • 服务发现
    各个微服务进行分布式部署,远程调用时,就需要知道哪些机器上目标服务是正常运行能够远程调用的
  • 负载均衡
    各个微服务进行分布式部署,远程调用时,可以调用多台机器上服务达到相同的目的时,该使用什么样的策略进行远程调用
  • 服务容错
    服务之间远程调用时,出现异常的处理能力
  • 配置管理
    微服务进行分布式部署时,在配置中心进服务配置更新,各服务相互之间同步配置问题
  • 服务监控
    众多的服务运行监控问题
  • 链路追踪
    微服务之间远程调用出现异常,异常追踪问题
  • 日志管理
  • 任务调度

分布式解决方案

SpringBoot + SpringCloud
在这里插入图片描述

云原生

原生应用如何上云?CloudNative

上云的困难:

  • 服务自愈
  • 弹性伸缩
  • 服务隔离
  • 自动化部署
  • 灰度发布
  • 流量治理

SpringBoot 官方文档

官方文档
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋水浮萍任缥缈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值