spring cloud之eureka简介

最近线上的接口出了一些问题,有一些可能不是代码的问题,可是因为是测试和其余方面的同事爆出来的,因此感受对接口的监控应该提上日程。spring

通过搜索发现,spring cloud的eureka就是专门作这方面工做的。架构

下面一段是《spring cloud 微服务实战》一书中对eureka的简单介绍:app

Spring Cloud Eureka 是Spring Cloud Netflix 微服务套件中的一部分, 它基于Netflix Eureka 作了二次封装, 主要负责完成微服务架构中的服务治理功能。spring-boot

Spring Cloud 经过为Eureka 增长了Spring Boot 风格的自动化配置,咱们只需经过简单引入依赖和注解配置就能让Spring Boot 构建的微服务应用轻松地与Eureka 服务治理体系进行整合。微服务

1、Eureka 服务的三个角色:

• 服务注册中心:测试

Eureka 提供的服务端, 提供服务注册与发现的功能, 通常被称做eureka-server。
服务提供者:fetch

提供服务的应用, 能够是Spring Boot 应用, 也能够是其余技术平台且遵循Eureka 通讯机制的应用。它将本身提供的服务注册到Eureka, 以供其余应用发现
• 服务消费者:url

消费者应用从服务注册中心获取服务列表, 从而使消费者能够知道去何处调用其所须要的服务,这个不是咱们这部分的内容,暂不介绍。spa

2、eureka中server的简单搭建

1.首先咱们建立一个应用,名为monitor,首先引入eureka依赖code

<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>

2.因为是spring cloud项目,同时须要spring cloud的依赖管理

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Dalston.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
</dependencyManagement>

注:spring boot和spring cloud 有严格的版本对应关系,本项目的spring boot版本是1.5.4.RELEASE

3.application.properties配置文件

spring.application.name=eureka-server server.port=8080 eureka.instance.hostname=localhost eureka.client.register-with-eureka=false eureka.client.fetch-registry=false

4.最后一步,应用入口class须要加上注解

@EnableEurekaServer

这样这个项目就是一个eureka服务注册中心了。

3、eureka的client简单搭建

eureka的客户端跟就是平时咱们的应用,咱们须要把他们监控起来。

1.application.properties配置文件

spring.application.name=client-name server.port=8080 #重要:将应用注册到上一步的服务注册中心 eureka.client.serviceUrl.defaultZone=http://*.*.*.*:8080/monitor-1/eureka/
#开启端点 management.security.enabled=false #监测心跳 eureka.instance.health-check-url-path=/health

2.pom文件的依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

3.spring cloud的依赖管理

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Dalston.SR1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
</dependencyManagement>

4.应用入口class添加注解

@EnableDiscoveryClient

5.最后一步,在controller中引入DiscoveryClient对象

@Autowired private DiscoveryClient client;

4、监控UI

看到这个,基本就大功告成了。

相关文章
相关标签/搜索