Spring boot SCN&热部署

64 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第24天,点击查看活动详情

Spring Cloud

Spring Cloud是一个分布式的整体解决方案。Spring Cloud 为开发者提供了在分布式系统(配置管理,服务发现,熔断,路由,微代理,控制总线,一次性token,全局琐,leader选举,分布式session,集群状态)中快速构建的工具,使用Spring Cloud的开发者可以快速的启动服务或构建应用、同时能够快速和云平台资源进行对接。

SpringCloud分布式开发五大常用组件

  • 服务发现——Netflix Eureka

  • 客服端负载均衡——Netflix Ribbon

  • 断路器——Netflix Hystrix

  • 服务网关——Netflix Zuul

  • 分布式配置——Spring Cloud Config

微服务

image.png

Spring Cloud 入门

1、创建provider

2、创建consumer

3、引入Spring Cloud

4、引入Eureka注册中心

5、引入Ribbon进行客户端负载均衡

开发热部署

在开发中我们修改一个Java文件后想看到效果不得不重启应用,这导致大量时间花费,我们希望不重启应用的情况下,程序可以自动部署(热部署)。有以下四种情况,如何能实现热部署。

1、模板引擎

  • 在Spring Boot中开发情况下禁用模板引擎的cache

  • 页面模板改变ctrl+F9可以重新编译当前页面并生效

2、Spring Loaded

Spring官方提供的热部署程序,实现修改类文件的热部署 下载Spring Loaded(项目地址github.com/spring-proj… 添加运行时参数:

-javaagent:C:/springloaded-1.2.5.RELEASE.jar –noverify

3、JRebel

  • 收费的一个热部署软件

  • 安装插件使用即可

4、Spring Boot Devtools(推荐)

  • 引入依赖
<dependency>  
   <groupId>org.springframework.boot</groupId>  
   <artifactId>spring-boot-devtools</artifactId>   
</dependency> 
  • IDEA使用ctrl+F9

  • 或做一些小调整

Intellij IEDA和Eclipse不同,Eclipse设置了自动编译之后,修改类它会自动编译,而IDEA在非RUN或DEBUG情况下才会自动编译(前提是已经设置了Auto-Compile)。

  • 设置自动编译(settings-compiler-make project automatically)

  • ctrl+shift+alt+/(maintenance)

  • 勾选compiler.automake.allow.when.app.running