实现服务器注册中心
在搭建过程中一定要注意springboot和springcloud之间的版本是否兼容,可到以下链接查询:
https://blog.csdn.net/MyronCham/article/details/84584510
使用开发工具是IDEA
springboot&springcloud版本介绍:
springboot采用2.0.7.RELEASE
springcloud采用Finchley.RELEASE
项目创建:
1.创建一个普通的MAVEN项目
1.1:groupId取名为com.keyboard(这是我自己的,请根据你自己的习惯来写)
1.2:artifactId为cloud
2.在父工程(指当前创建的项目)的pom.xml中配置
2.1:parent
2.2:dependencyManagement
创建一个maven project
父工程-parent
<!-- springboot parent -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.7.RELEASE</version>
<relativePath />
</parent>
父工程-dependenciesManagement
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
父工程完整pom
<!-- model只是后面的模块而已,可以去除 -->
<?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.keyboard.cloud</groupId>
<artifactId>cloud</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>\
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.7.RELEASE</version>
<relativePath />
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.RELEASE</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>
</project>
子模块EurekaServer注册中心
做完以上事情后我们需要搭建子模块,名字叫做eureka-server
1.右键父工程,选择new --> model创建一个新的模块
2.输入artifactId自取,我取名叫eureka-server,然后创建项目
3.继承父项目的pom(设置parent)
4.引入cloud的依赖(dependency)
EurekaServer模块-parent
<!--
导入父项目的parent
groupId:创建父项目时输入的groupId
artifactId:创建父项目时输入的artifactId
version:也是父创建项目时的version
ps:如果你没注意version和修改它,那么默认是:“1.0-SNAPSHOT”
-->
<parent>
<groupId>com.keyboard.cloud</groupId>
<artifactId>cloud</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
EurekaServer模块-dependency
<!--
整个dependencies就两个依赖(dependency),一个是springboot的web依赖。
由于eureka它也是web项目所以需要springboot的web依赖。另一个依赖就是
springcloud的eureka-server注册中心依赖
-->
<dependencies>
<!-- springboot的web依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- springcloud的eureka-server依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
子模块完整pom.xml
<?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>
<artifactId>eureka-server</artifactId>
<parent>
<groupId>com.keyboard.cloud</groupId>
<artifactId>cloud</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
</project>
配置application.yml
配置文件
你可以使用.yml类型的配置文件也可以使用.properties的配置文件,文件名都为application,我这边采用的是yml配置文件,具体看个人喜好
application.yml
#配置eureka注册中心的端口号
server:
port: 8761
eureka:
instance:
hostname: localhost
prefer-ip-address: true
client:
#这边是配置服务发现以及eureka向自己进行注册,运行过程中会报错,无视就好
register-with-eureka: true
fetch-registry: true
server-url:
defaultZone: http://localhost:8761/eureka/
spring:
application:
name: eureka-server
logging:
file: eureka-server.log
最后启动项目
创建一个叫做EurekaServerApplication的启动类
package com.keyboard.eureka;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
/**
* @author 2B键盘
* @version 1.0.0
* @date 2018/12/31 17:42
* @descripting TODO
*/
@SpringBootApplication
//加上这个注册就表明这个项目是一个eureka注册中心
@EnableEurekaServer
public class EurekaApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaApplication.class,args);
}
}
然后访问localhost:8761如果出现springcloud的eureka页面,就说明启动成功了











网友评论