扯一扯

以下内容将引起极度舒适,请在女朋友的陪同下观看。什么?你没有女朋友?哦,不好意思,我忘了,程序员是没有女朋友的。那就好好学习吧,女朋友总会有的。

软件环境

  • Windows 10
  • JDK 1.8
  • IDEA 2018.2
  • Spring Boot 2.1.0.RELEASE
  • Spring Cloud Greenwich.M1

步骤

创建工程

跟创建一个普通的Spring Boot工程没有什么区别,选择Spring Initializr
创建一项目
填写项目信息:
填写项目信息
左侧选择Cloud Discovery,右侧勾选Eureka Server
选择依赖

pom文件

pom文件的核心引用:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>
        <relativePath/> 
    </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>Greenwich.M1</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</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>

配置

声明为注册中心

添加@EnableEurekaServer注解:

@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {

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

属性配置

yaml
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false
properties
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

如果不加上面的配置,工程启动会出现如下错误:

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect
com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

原因是工程启动后,默认是会寻找注册中心的,然而它本身就是注册中心,所以我们要告诉它:你已经长大了,不能依赖别人了,你要承担更多,做别人可以依靠的肩膀,这就是长大的代价。

效果

启动后,访问localhost:8080,看到如下页面代表我们已经成功了,我们可以在配置文件中将端口改成Eureka官方的默认端口8761
运行效果

下集预告

OK,到此我们的注册中心就建好了,太简单太清爽了有没有?下集我们将播出什么内容呢?我想聪明的你已经猜到了,下集我们会一起学习一下如何创建一个客户端。OK,下集见!

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐