SpringCloudFinchley+SpringBoot2.0集成Consul的方法示例(1.2版本)

概述:

创新互联专注于张家界企业网站建设,响应式网站设计,成都做商城网站。张家界网站建设公司,为张家界等地区提供建站服务。全流程按需网站设计,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

Spring Boot 2.0相对于之前的版本,变化还是很大的。首先对jdk的版本要求已经不能低于1.8,其次依赖的spring的版本也是最新版本5.0,并集成了功能强大的webflux等。

SpringCloud Finchley 版本的升级也带来了全新组件:Spring Cloud Function 和 Spring Cloud Gateway ,前者致力于函数式编程模块的整合,后者则是网关netflix zuul 的替换组件。

1)需要的依赖:

<?xml version="1.0" encoding="UTF-8"?>

 4.0.0

 com.iyb
 saturn
 0.0.1-SNAPSHOT
 jar

 sc-saturn
 sc-saturn for Spring Boot

 
  org.springframework.boot
  spring-boot-starter-parent
  2.0.1.RELEASE
 

 
  UTF-8
  UTF-8
  1.8
  3.4.0
  4.1.6
  1.2.13
  2.8.5
  1.0.27
  5.1.40
  1.3.1
 


 

  
  

  
   org.springframework.cloud
   spring-cloud-starter-consul-discovery
  
  
   org.springframework.cloud
   spring-cloud-starter-config
  
  
   org.springframework.cloud
   spring-cloud-starter-openfeign
  
  
   org.springframework.cloud
   spring-cloud-starter-netflix-hystrix
  
  
   org.springframework.cloud
   spring-cloud-starter-netflix-zuul
  
  
   org.springframework.cloud
   spring-cloud-starter-netflix-ribbon
  
   
   org.springframework.cloud
   spring-cloud-starter-sleuth
  


  
  
   org.springframework.boot
   spring-boot-starter-tomcat
   provided
  
  
   org.apache.tomcat.embed
   tomcat-embed-jasper
   compile
  
   
  
   org.springframework.boot
   spring-boot-starter-actuator
  


  
  
   org.springframework.boot
   spring-boot-starter
  

  
  
   org.springframework.boot
   spring-boot-starter-jdbc
  
  
   org.springframework.boot
   spring-boot-starter-aop
  
  
   org.springframework.boot
   spring-boot-starter-data-redis
  
  
   org.springframework.boot
   spring-boot-starter-web
  

  
  
   com.alibaba
   fastjson
   ${fastjson.version}
  

  
   io.github.openfeign
   feign-gson
   9.3.1
  

  
  
   org.projectlombok
   lombok
  

  
   log4j
   log4j
   1.2.17
  


  
   commons-beanutils
   commons-beanutils
  
  
   commons-collections
   commons-collections
  
  
   org.apache.commons
   commons-lang3
   3.4
  
  
   com.netflix.feign
   feign-gson
   8.15.1
  

 



 // Spring Cloud Finchley.RELEASE
 
  
   
    org.springframework.cloud
    spring-cloud-dependencies
    Finchley.RELEASE
    pom
    import
   
  
 

需要注意的地方:

部分依赖做了改变:

旧版本Finchley 版本
spring-cloud-starter-eureka-clientspring-cloud-starter-netflix-eureka-client
spring-cloud-starter-eureka-serverspring-cloud-starter-netflix-eureka-server
spring-cloud-starter-hystrixspring-cloud-starter-netflix-hystrix
spring-cloud-starter-hystrix-dashboardspring-cloud-starter-netflix-hystrix-dashboard
spring-cloud-starter-ribbonspring-cloud-starter-netflix-ribbon
spring-cloud-starter-turbinespring-cloud-starter-netflix-turbine
spring-cloud-starter-zuulspring-cloud-starter-netflix-zuul
spring-cloud-starter-feignspring-cloud-starter-openfeign

新版本的 SpringCloud 上面的依赖都发生了变化,依赖中都引入了 netflix,或许是为了声明吧(组件的实现底层并非spring)。

log4j依赖:

在spring cloud之前的版本中,日志只需要引入lombok即可,但是Finchley版本需要单独的引用。


  
   org.projectlombok
   lombok
  

  
   log4j
   log4j
   1.2.17
  

2)集成consul配置文件:

spring:
 application:
 name: sc-saturn
 profiles:
 active: dev

 cloud:
 config:
#  uri: http://localhost:9999
  discovery:
  enabled: false
  serviceId: sc-earth-config-server
  label: master
  profile: pre
 consul:
  host: http://localhost:8500
  port: 80
  discovery:
   prefer-ip-address: true
   #这里是重写健康检查的endPoint,默认为 /health,重写是为了节省不必要的网络传输,只需要http 200状态码即可
   health-check-path: /ok/health
   heartbeat:
   enabled: false

3)启动类:

@SpringBootApplication
@EnableFeignClients
@EnableZuulServer
@ComponentScan(basePackages={"com.iyb.ak"})
@EnableDiscoveryClient
@Slf4j
public class SaturnApplication implements CommandLineRunner{

 public static void main(String[] args) {
  SpringApplication.run(SaturnApplication.class, args);
 }


 @Override
 public void run(String... args) throws Exception {
  log.info(">>>>>>>>>>>>>>> sc-saturn 启动完成<<<<<<<<<<<<<");
 }
}

4)示例:

SpringCloud Finchley+Spring Boot 2.0 集成Consul的方法示例(1.2版本)

注册中心:

SpringCloud Finchley+Spring Boot 2.0 集成Consul的方法示例(1.2版本) 

可以看到 sc-saturn 已经成功注册到 consul中了。另外,上面的consul ui界面发生了变化,这是1.2版本做出的优化,相较以前的ui界面,已经好看很多了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


网页标题:SpringCloudFinchley+SpringBoot2.0集成Consul的方法示例(1.2版本)
文章转载:http://abwzjs.com/article/ppsieh.html