官网https://projects.spring.io/spring-cloud/,spring cloud官网各组件版本为:

Component Edgware.SR4 Finchley.SR1 Finchley.BUILD-SNAPSHOT
spring-cloud-aws 1.2.3.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-bus 1.3.3.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-cli 1.4.1.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-commons 1.3.4.RELEASE 2.0.1.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-contract 1.2.5.RELEASE 2.0.1.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-config 1.4.4.RELEASE 2.0.1.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-netflix 1.4.5.RELEASE 2.0.1.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-security 1.2.3.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-cloudfoundry 1.1.2.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-consul 1.3.4.RELEASE 2.0.1.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-sleuth 1.3.4.RELEASE 2.0.1.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-stream Ditmars.SR4 Elmhurst.SR1 Elmhurst.BUILD-SNAPSHOT
spring-cloud-zookeeper 1.2.2.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-boot 1.5.14.RELEASE 2.0.4.RELEASE 2.0.4.BUILD-SNAPSHOT
spring-cloud-task 1.2.3.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-vault 1.1.1.RELEASE 2.0.1.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-gateway 1.0.2.RELEASE 2.0.1.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-openfeign   2.0.1.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-function 1.0.0.RELEASE 1.0.0.RELEASE 1.0.1.BUILD-SNAPSHOT

  其中,在使用spring cloud时,需注意spring boot版本,Finchley构建并使用Spring Boot 2.0.x,预计不会与Spring Boot 1.5.x一起使用。

  注意:Dalston发布将于2018年12月达到使用寿命.Eginware将遵循Spring Boot 1.5.x的生命周期结束周期。

  Dalston和Edgware发布版基于Spring Boot 1.5.x构建,预计不会与Spring Boot 2.0.x一起使用。

一、注册与发现

  Spring Cloud使用eureka,  所有需要访问配置文件的应用都作为一个erureka client注册上去。eureka是一个高可用的组件,它没有后端缓存,每一个实例注册之后需要向注册中心发送请求,在默认情况下erureka server也是一个eureka client ,必须要指定一个 server。

  maven依赖如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.chm</groupId>
<artifactId>springcloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>springcloud</name>
<description>Spring cloud eureka server project module</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR1</spring-cloud.version>
</properties> <dependencies>
<!--eureka server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<!--<artifactId>spring-cloud-starter-eureka-server</artifactId>-->
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> <!-- 使用里程碑版需要下面的配置(Spring官网上的配置更为简洁,
更适合每个版本 http://projects.spring.io/spring-boot/)。新版本新特性,如开发热部署 -->
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories> </project>

  启动类为:

@EnableEurekaServer
@SpringBootApplication
public class SpringcloudEurekaServerApplication { public static void main(String[] args) {
SpringApplication.run(SpringcloudEurekaServerApplication.class, args);
}
}

   配置文件为:

server:
port: 9999
eureka:
instance:
hostname: 127.0.0.1
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

  结果报异常为:java.lang.IllegalStateException: Failed to load property source from location 'classpath:/application.yml',需严格注意yml文件格式。

  启动eureka server,然后访问http://localhost:9999,可看到Eureka启动界面。

客户端

  maven依赖如下:

 <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.chm</groupId>
<artifactId>springcloud</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>springcloud</name>
<description>Spring cloud eureka client project module</description> <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR1</spring-cloud.version>
</properties> <dependencies>
<!--eureka server -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<!--<artifactId>spring-cloud-starter-eureka-server</artifactId>-->
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency> <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build> <!-- 使用里程碑版需要下面的配置(Spring官网上的配置更为简洁,
更适合每个版本 http://projects.spring.io/spring-boot/)。新版本新特性,如开发热部署 -->
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>https://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories> </project>

  启动类为:

 @SpringBootApplication
@EnableEurekaClient
@RestController
public class SpringcloudEurekaClientApplication { public static void main(String[] args) {
SpringApplication.run(SpringcloudEurekaClientApplication.class, args);
} @Value("${server.port}")
String port;
@RequestMapping("/")
public String home() {
return "hello world from port " + port;
} }

  配置文件为:

 eureka:
client:
serviceUrl:
defaultZone: http://localhost:9999/eureka/
server:
port: 8888
spring:
application:
name: service-eurekaclient

  访问即可发现服务已经注册。

最新文章

  1. 深入理解C#
  2. js 获取时间间隔
  3. 关于读取txt文件中文乱码问题
  4. javabean实现serializable有什么用?为什么数据库持久就Bean实现这个接口?
  5. Chrome模拟手机浏览器(iOS/Android)的三种方法,亲测无误!
  6. SPFA 最短路径打印方法
  7. C++学习之虚继承
  8. SQLAlchemy 教程 —— 基础入门篇
  9. Codeforces.1043F.Make It One(DP 容斥)
  10. eclipse导入项目时,仅项目名出现红叉
  11. oracle sql语句实现累加、累减、累乘、累除
  12. Django 利用管理器实现文章归档
  13. idea 映射文件同class文件一起打包安装
  14. MHDD硬盘坏道检测修复教程(转)
  15. XML序列化、反序列化
  16. php对gzip的使用(实例)
  17. 说说M451的例程库的说明
  18. 读underscore
  19. OpenCV使用二维特征点(Features2D)和单映射(Homography)寻找已知物体
  20. RSA 公钥加密——私钥解密

热门文章

  1. PAT——1052. 卖个萌
  2. djb2:一个产生简单的随机分布的哈希函数
  3. SSIS中出现数据流数据源假死状态的解决办法
  4. Unity 游戏框架搭建 2018 (一) 架构、框架与 QFramework 简介
  5. P1379 八数码难题
  6. eclipse的git插件安装、配置与使用
  7. python使用tablib库生成xls表格
  8. django查询集-17
  9. Linux下C语言编译的问题
  10. C语言进阶——基本数据类型01