- 什么是 Spring Boot?
spring boot是一个框架,一种全新的编程规范,他的产生简化了框架的使用,所谓简化了 spring众多框架中所需的大量且繁琐的配置文件,所以spring boot是一个服务于框架的框架,服务范围是简化配置文件 - 为什么要用 Spring Boot?
spring boot可以使编码变简单 - Spring Boot 核心配置文件是什么?
bootstrap (.yml 或者 .properties)
application (.yml 或者 .properties) - Spring Boot 配置文件有哪几种类型?它们有什么区别?
分别是properties文件和yml文件。相对于properties文件而言,yml文件更年轻,yml通过空格来确定层级关系,使配置文件结构跟清晰 - Spring Boot 有哪些方式可以实现热部署?
在项目的pom文件中添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
shift+ctrl+alt+"/" (快捷键) 选择"Registry" 然后勾选 compiler.automake.allow.when.app.running
109. JPA 和 Hibernate 有什么区别?
JPA Java Persistence API,是Java EE 5的标准ORM接口,也是ejb3规范的一部分。
Hibernate,当今很流行的ORM框架,是JPA的一个实现,但是其功能是JPA的超集。
JPA和Hibernate之间的关系,可以简单的理解为JPA是标准接口,Hibernate是实现。那么Hibernate是如何实现与JPA的这种关系的呢。Hibernate主要是通过三个组件来实现的,及hibernate-annotation、hibernate-entitymanager和hibernate-core
110. 什么是 Spring Cloud?
Spring Cloud是一系列框架的有序集合,致力于分布式系统,云服务的框架
Spring Cloud为微服务架构开发涉及的配置管理,服务治理,熔断机制,智能路由,微代理,控制总线,一次性token,全局一致性锁,leader选举,分布式session,集群状态管理等操作提供了一种简单的开发方式
111. Spring Cloud 断路器的作用是什么?
在微服务架构中,存在着那么多的服务单元,若一个单元出现故障,就会因依赖关系形成故障蔓延,最终导致整个系统的瘫痪,为了解决这样的问题,因此产生了断路器模式。
断路器就是当某个服务单元发生故障之后,通过断路器的故障监控,向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不释放,避免了故障在分布式系统中的蔓延。
112. Spring Cloud 的核心组件有哪些?
①. 服务发现——Netflix Eureka
一个RESTful服务,用来定位运行在AWS地区(Region)中的中间层服务。由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。
②. 客服端负载均衡——Netflix Ribbon
Ribbon,主要提供客户侧的软件负载均衡算法。Ribbon客户端组件提供一系列完善的配置选项,比如连接超时、重试、重试算法等。Ribbon内置可插拔、可定制的负载均衡组件。
③. 断路器——Netflix Hystrix
断路器可以防止一个应用程序多次试图执行一个操作,即很可能失败,允许它继续而不等待故障恢复或者浪费 CPU 周期,而它确定该故障是持久的。断路器模式也使应用程序能够检测故障是否已经解决。如果问题似乎已经得到纠正,应用程序可以尝试调用操作。
④. 服务网关——Netflix Zuul
类似nginx,反向代理的功能,不过netflix自己增加了一些配合其他组件的特性。
⑤. 分布式配置——Spring Cloud Config
这个还是静态的,得配合Spring Cloud Bus实现动态的配置更新。