Spring Cloud分布式集群服务搭建之发现与注册

springBoot简化了一个工程开发的配置过程,但对于集群化服务,spring有一套叫做springCloud的解决方案,它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

本文主要讲一下springCloud的发现与注册的配置方案

首先创建一个eureka注册服务

创建一个maven项目

Spring Cloud分布式集群服务搭建之发现与注册_第1张图片

pom文件中添加以下配置:

eureka-server
Spring Cloud project


    org.springframework.boot
    spring-boot-starter-parent
    1.3.5.RELEASE
     



    UTF-8
    1.8




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

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




    
        
            org.springframework.cloud
            spring-cloud-dependencies
            Brixton.RELEASE
            pom
            import
        
    



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

结果如下:

Spring Cloud分布式集群服务搭建之发现与注册_第2张图片在resources中添加application.properties文件配置如下

server.port=1111
#eureka.instance.hostname=localhost

eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

项目结构如下

Spring Cloud分布式集群服务搭建之发现与注册_第3张图片


如果是application.yml文件,则配置如下

server:
  port: 1111
eureka:
  client:
    # 表示是否注册自身到eureka服务器
    register-with-eureka: false
    # 是否从eureka上获取注册信息
    fetch-registry: false
    service-url:
      defaultZone: http://localhost:${server.port}/eureka/

项目结构如下:

Spring Cloud分布式集群服务搭建之发现与注册_第4张图片



添加项目启动类 Application 内容如下

@EnableEurekaServer
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class).web(true).run(args);
    }
}

项目结构如图所示

Spring Cloud分布式集群服务搭建之发现与注册_第5张图片

运行main方法,以启动注册服务

Spring Cloud分布式集群服务搭建之发现与注册_第6张图片

访问服务:http://localhost:1111/

Spring Cloud分布式集群服务搭建之发现与注册_第7张图片

发现服务已生效,第一部分结束


将springBoot服务注册进入Eureka

首先将pom文件中添加配置


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

    
        
            org.springframework.cloud
            spring-cloud-dependencies
            Brixton.RELEASE
            pom
            import
        
    



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

重新编译maven项目:

Spring Cloud分布式集群服务搭建之发现与注册_第8张图片

在application配置文件中配置服务名,以及Eureka服务地址(如图所示):

Spring Cloud分布式集群服务搭建之发现与注册_第9张图片

代码如下:

spring:
    application:
        name: test-Demo
eureka:
    client:
        service-url:
              defaultZone: http://localhost:1111/eureka/

如果是application.properties文件,则添加以下配置

spring.application.name=compute-service
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/

随后,在启动类Application中,加入注释:

@EnableDiscoveryClient

如图:

Spring Cloud分布式集群服务搭建之发现与注册_第10张图片

OK,启动服务,刷新或访问http://localhost:1111/ 可以看到:

Spring Cloud分布式集群服务搭建之发现与注册_第11张图片

刚才启动的服务 端口已经注册到Eureka服务中了。

如果几个springBoot同时注册到一个Eureka服务上,就组成了一个springCloud集群,下一篇将讲一下springCloud集群服务间的调用


你可能感兴趣的:(SpringCloud)