SpringCloud微服实战之Eureka进行服务治理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011546347/article/details/86135309

Eureka背景:

Eureka它是Netflix开源旗下的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是SpringCloud体系中最重要最核心的组件之一。它主要负责完成微服务架构中的服务治理功能。

咱们直接用一张图来认识一下注册中心的含义:

上图简要描述了Eureka的基本架构,由3个角色组成:

1、Eureka Server

  • 提供服务注册和发现

2、Service Provider

  • 服务提供方
  • 将自身服务注册到Eureka,从而使服务消费方能够找到

3、Service Consumer

  • 服务消费方
  • 从Eureka获取注册服务列表,从而能够消费服务

 

本文只是通过简单的小例子来分享下如何通过Eureka进行服务治理:

  1. 搭建服务注册中心
  2. 注册服务提供者

一、搭建服务注册中心

这是完整的一个项目结构

1、咱们可以单独创建一个SpringBoot项目,然后在pom.xml文件中添加以下依赖

<dependencies>
  <!--添加Eureka服务器端依赖-->
        <dependency>
		    <groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
		</dependency>
</dependencies>

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

2、在Application启动类中使用@EnableEurekaServer注解开启EurekaServer

3、配置application.yml文件

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

  • eureka.client.register-with-eureka :表示是否将自己注册到Eureka Server,默认为true。
  • eureka.client.fetch-registry :表示是否从Eureka Server获取注册信息,默认为true。
  • eureka.client.serviceUrl.defaultZone :设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。默认是http://localhost:8761/eureka ;多个地址可使用 , 分隔。

这样完成配置就好了。咱们直接启动工程后,访问:http://localhost:8761/,可以看到下面的页面,其中还没有发现任何服务

因为咱们现在这个只是单独的一个Eureka服务端。接下来进行讲解如何把自己工程注册到Eureka上面。

二、注册服务提供者

这边是服务提供者的项目结构图:

1、在对应pom.xml文件中引入以下依赖:

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

    </dependencyManagement>

    <dependencies>
        <!-- 引入eureka 客户端依赖 -->
        <dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
		</dependency>

    </dependencies>

2、在Application启动类中使用@EnableDiscoveryClient注解实现注册服务

3、配置application.yml文件

设置注册中心地址(即上一节中设置的注册中心地址http://localhost:8761/eureka)

3、测试

我们随后是可以在Eureka服务中心发现咱们这个服务提供者成功注册上去了。

三、总结

以上实例实现了基本的服务治理:

  • 通过spring-cloud-starter-eureka-server和@EnableEurekaServer实现服务注册中心
  • 通过spring-cloud-starter-eureka和@EnableDiscoveryClient使用并注册到服务注册中心

猜你喜欢

转载自blog.csdn.net/u011546347/article/details/86135309