• spring cloud之eureka简介


    最近线上的接口出了一些问题,有一些可能不是代码的问题,但是由于是测试和其他方面的同事爆出来的,所以感觉对接口的监控应该提上日程。

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

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

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

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

    一、Eureka 服务的三个角色:

    • 服务注册中心:

    Eureka 提供的服务端, 提供服务注册与发现的功能, 一般被称作eureka-server。
    服务提供者:

    提供服务的应用, 可以是Spring Boot 应用, 也可以是其他技术平台且遵循Eureka 通信机制的应用。它将自己提供的服务注册到Eureka, 以供其他应用发现
    • 服务消费者:

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

    二、eureka中server的简单搭建

    1.首先我们创建一个应用,名为monitor,首先引入eureka依赖

    <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服务注册中心了。

    三、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;

    四、监控UI

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

  • 相关阅读:
    webdriver 窗口切换
    element not visible 错误的原因和解决方式
    选择子数据,默认存储父数据 的校验方法
    What's jenkins And How to Install
    testng suite
    webdriver 选择下拉列表的操作
    webdriver 获取表格内的文案
    webdriver 定位表格元素
    webdriver 上传文件
    树上倍增求解LCA 模板
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/9224535.html
Copyright © 2020-2023  润新知