使用Spring Cloud搭建服务注册中心

创建一个普通的Spring Boot工程.

首先我们需要创建一个普通的Spring Boot工程,命名为eureka-server,普通到什么程度呢?就是一个starter都不需要添加,创建成功之后就只引用了一个父starter。


step1.png

step2.png

step3.png

step4.png

添加Eureka依赖

工程创建成功之后,向pom.xml文件中添加eureka-server的依赖,目前eureka的稳定版本是Dalston.SR3,添加完依赖之后,pom.xml文件如下所示:



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.3.RELEASE
         
    
    com.example
    eureka
    0.0.1-SNAPSHOT
    eureka-server
    jar
    Demo project for Spring Boot

    
        1.8
        UTF-8
        UTF-8
    

    
        
            org.springframework.boot
            spring-boot-starter
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            org.springframework.cloud
            spring-cloud-starter-eureka-server
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Dalston.SR3
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



那么这里依赖的添加我主要参考了Eureka官网的 http://projects.spring.io/spring-cloud/。

启动一个服务注册中心

启动一个服务注册中心的方式很简单,就是在Spring Boot的入口类上添加一个@EnableEurekaServer注解,如下:

package com.example.eureka;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class EurekaServerApplication {

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

}

配置服务注册中心

最后我们再做一点简单的配置就可以了,配置就写在Spring Boot的配置文件application.properties中,写法如下:

server.port=1111
eureka.instance.hostname=localhost
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.service-url.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

关于这几行注释,我说如下几点:

1.server.port=1111表示设置该服务注册中心的端口号
2.eureka.instance.hostname=localhost表示设置该服务注册中心的hostname

3.eureka.client.register-with-eureka=false,由于我们目前创建的应用是一个服务注册中心,而不是普通的应用,默认情况下,这个应用会向注册中心(也是它自己)注册它自己,设置为false表示禁止这种默认行为
4.eureka.client.fetch-registry=false,表示不去检索其他的服务,因为服务注册中心本身的职责就是维护服务实例,它也不需要去检索其他服务

做完这一切之后,我们就可以启动这一个Spring Boot 服务,服务启动成功之后,在浏览器中输入:http://localhost:1111就能够看到如下页面:

eureka.png

注册服务提供者

OK,那么现在服务注册中心有了之后,我们可以考虑向这个服务注册中心注册一个服务提供者了。
创建一个新的Spring Boot工程
还是创建一个Spring Boot工程,这次创建比之前创建多一个步骤,在创建的时候选中web的starter,我们来创建一个web工程,在IntelliJ IDEA中创建的时候选中web,如下:

step1.png

step2.png

其余步骤同上。
pom中同样添加Eureka依赖



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.3.RELEASE
         
    
    com.example
    provider
    0.0.1-SNAPSHOT
    provider-server
    Demo project for Spring Boot

    
        1.8
        UTF-8
        UTF-8
    

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            org.springframework.cloud
            spring-cloud-starter-eureka
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Dalston.SR3
                pom
                import
            
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    



配置服务名称和注册中心地址
我们在application.properties文件中配置一下服务名和注册中心地址即可,如下:

server.port=1001
spring.application.name=provider-service
eureka.client.service-url.defaultZone=http://localhost:1111/eureka

做完这一切之后,我们就可以来测试了,直接运行这个Spring Boot工程,运行成功之后,我们刷新刚才的http://localhost:1111,就可以看到有一个服务已经注册成功了。如下:

eureka.png

你可能感兴趣的:(使用Spring Cloud搭建服务注册中心)