chen888的gravatar头像
chen888 2017-11-27 18:24:27
spring cloud学习之Eureka服务注册

Spring Cloud简介

Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中涉及的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

  • Spring Cloud Eureka

首先,我们来尝试使用Spring Cloud Eureka来实现服务治理。

Spring Cloud Eureka是Spring Cloud Netflix项目下的服务治理模块。而Spring Cloud Netflix项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供了自配置的Netflix OSS整合。通过一些简单的注解,开发者就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。它主要提供的模块包括:服务发现(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)等。

下面,就来具体看看如何使用Spring Cloud Eureka实现服务治理。

  1. 创建“服务注册中心”

创建一个基础的maven父工程命名为springCloudDemo,在创建子项目命demo-eureka,并在pom.xml中引入需要的依赖内容:

<parent>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-parent</artifactId>

<version>1.5.8.RELEASE</version>

<relativePath />

</parent>

<dependencies>

<!-- eureka server -->

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-eureka-server</artifactId>

</dependency>

</dependencies>

 

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-dependencies</artifactId>

<version>Camden.SR6</version>

<type>pom</type>

<scope>import</scope>

</dependency>

</dependencies>

</dependencyManagement>

通过@EnableEurekaServer注解启动一个服务注册中心提供给其他应用进行对话。这一步非常的简单,只需要在一个普通的Spring Boot应用中添加这个注解就能开启此功能,比如下面的例子:

 

@SpringBootApplication

@EnableEurekaServer

public class EurekaApplication {

 

public static void main(String[] args) {

SpringApplication.run(EurekaApplication.class, args);

}

}

在默认设置下,该服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为,只需要在application.yml配置文件中增加如下信息:

server:
  port: 8761
eureka:
  instance:
    hostname: localhost
  client: 
    #表示是否将自己注册到Eureka Server上,默认为true
    registerWithEureka: false
    #表示是否从Eureka Server上获取注册信息,默认为true
    fetchRegistry: false
    #Eureka Server的访问地址,服务注册和client获取服务注册
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

为了与后续要进行注册的服务区分,这里将服务注册中心的端口通过server.port属性设置为8761,spring cloud Eureka默认端口。启动工程后,访问:http://localhost:8761/,可以看到下面的页面,其中还没有发现任何服务。

spring cloud学习之Eureka服务注册

源码路径:spring cloud简单的demo例子,适合初学者


打赏

已有1人打赏

最代码官方的gravatar头像
最近浏览
安安an  LV17 2019年7月23日
kinggode  LV14 2018年4月12日
luojun12312123123  LV2 2018年3月8日
最代码-泽正  LV12 2017年11月28日
aihui523  LV34 2017年11月28日
低调人  LV38 2017年11月28日
最代码颜值担当  LV7 2017年11月28日
程序猿全敏  LV29 2017年11月28日
chen888  LV19 2017年11月28日
mySong  LV11 2017年11月28日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友