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

Eureka背景:

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

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

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

1、Eureka Server

  • 提供服务注册和发现

2、Service Provider

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

3、Service Consumer

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

 

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

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

一、搭建服务注册中心

这是完整的一个项目结构

SpringCloud微服实战之Eureka进行服务治理_第1张图片

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


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


 
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Edgware.SR5
                pom
                import
            
        
    

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

SpringCloud微服实战之Eureka进行服务治理_第2张图片

3、配置application.yml文件

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

SpringCloud微服实战之Eureka进行服务治理_第3张图片

  • 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/,可以看到下面的页面,其中还没有发现任何服务

SpringCloud微服实战之Eureka进行服务治理_第4张图片

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

二、注册服务提供者

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

SpringCloud微服实战之Eureka进行服务治理_第5张图片

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

 
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Edgware.SR5
                pom
                import
            
        

    

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

    

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

SpringCloud微服实战之Eureka进行服务治理_第6张图片

3、配置application.yml文件

SpringCloud微服实战之Eureka进行服务治理_第7张图片

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

3、测试

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

三、总结

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

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

你可能感兴趣的:(SpringCloud)