一、微服务架构
-
微服务架构的系统是一个分布式的系统,按业务进行划分为独立的服务单元,解决单体系统的不足,同时也满足越来越复杂的业务需求。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
-
all in one的架构方式,我们把所有的功能单元放在一个应用里面。然后我们把整个应用部署到服务器上。如果负载能力不行,我们将整个应用进行水平复制,进行扩展,然后在负载均衡。
-
所谓微服务架构,就是打破之前all in one的架构方式,把每个功能元素独立出来。把独立出来的功能元素的动态组合,需要的功能元素才去拿来组合需要多一些时可以整合多个功能元素。所以微服务架构是对功能元素进行复制,而没有对整个应用进行复制。
-
高内聚,低耦合。
二、SpringBoot
Spring Boot是微服务架构的基础。相比之前的Spring,它主要是省去了大量的样板式配置,取而代之的是根据条件的自动化配置,也提升了开发体验和增加一些新的特性,使开发人员把更多的精力放到业务代码上。
Spring Boot 核心功能
:
-
独立运行的 Spring 项目
Spring Boot 可以以 jar 包的形式独立运行,运行一个 Spring Boot 项目只需通过 java–jar xx.jar 来运行。 -
内嵌 Servlet 容器
Spring Boot 可选择内嵌 Tomcat、Jetty 或者 Undertow,这样我们无须以 war 包形式部署项目。 -
提供 starter 简化 Maven 配置
Spring 提供了一系列的 starter pom 来简化 Maven 的依赖加载,例如,当你使用了spring-boot-starter-web 时,会自动加入如图 1 所示的依赖包。 -
自动配置 Spring
Spring Boot 会根据在类路径中的 jar 包、类,为 jar 包里的类自动配置 Bean,这样会极大地减少我们要使用的配置。当然,Spring Boot 只是考虑了大多数的开发场景,并不是所有的场景,若在实际开发中我们需要自动配置 Bean,而 Spring Boot 没有提供支持,则可以自定义自动配置。 -
准生产的应用监控
Spring Boot 提供基于 http、ssh、telnet 对运行时的项目进行监控。 -
无代码生成和 xml 配置
Spring Boot 的神奇的不是借助于代码生成来实现的,而是通过条件注解来实现的,这是 Spring 4.x 提供的新特性。Spring 4.x 提倡使用 Java 配置和注解配置组合,而 Spring Boot 不需要任何 xml 配置即可实现 Spring 的所有配置。
三、IDEA创建一个SpringBoot项目
步骤:
- 创建一个新项目:File-->New-->Project-->Spring Initiallizr
starter service URL选择默认Default:https://start.spring.io/,点击Next。
IDEA集成了该网址,可以直接使用IDEA创建SpringBoot项目
- 填写Maven仓库的Group和Artifact,选择java版本,填好描述包名等信息,点击Next。
-
我们需要添加Dependencies的话,勾选相应的,后点击Next。
例如我们需要一个Web项目,选择Web-->勾选sprig Web。
Spring Boot DevTools:热部署相关配置
Lombok:简化Java代码
- 点击Finish完成创建。
创建好的项目目录: