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

网友投稿 263 2023-01-23


SpringCloud Finchley+Spring Boot 2.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)需要的依赖:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

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

OXuaxrg

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

<version>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

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

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

OXuaxrg

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

<version>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-client

spring-cloud-starter-netflix-eureka-client

spring-cloud-starter-eureka-server

spring-cloud-starter-netflix-eureka-server

spring-cloud-starter-hystrix

spring-cloud-starter-netflix-hystrix

spring-cloud-starter-hystrix-dashboard

spring-cloud-starter-netflix-hystrix-dashboard

spring-cloud-starter-ribbon

spring-cloud-starter-netflix-ribbon

spring-cloud-starter-turbine

spring-cloud-starter-netflix-turbine

spring-cloud-starter-zuul

spring-cloud-starter-netflix-zuul

spring-cloud-starter-feign

spring-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)示例:

注册中心:

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


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:spring boot和spring cloud之间的版本关系
下一篇:使用BeanFactory实现创建对象
相关文章

 发表评论

暂时没有评论,来抢沙发吧~