一切福田,不離方寸,從心而覓,感無不通。

spring cloud 入门系列二:使用Eureka 进行服务治理

服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现。

Spring Cloud Eureka是Spring Cloud Netflix 微服务套件的一部分,主要负责完成微服务架构中的服务治理功能。

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

  • 搭建服务注册中心
  • 注册服务提供者
  • 服务发现和消费

==========我是华丽的分割线========================

一、搭建服务注册中心

  先列出完整目录结构:

  

搭建过程如下:

  1. 创建maven工程:eureka(具体实现略)
  2. 修改pom文件,引入依赖
  3. 创建启动类
  4. 配置application.properties文件
  5. 启动服务并访问,我们会看到这样的画面: 

二、注册服务提供者

先列出完整目录结构:

搭建过程如下:

  1. 创建maven工程:hello-service(具体实现略)
  2. 修改pom文件,引入依赖
  3. 创建启动类
  4. 创建controller
  5. 配置application.properties文件
  6. 启动并测试
    1. )启动后再hello-service的控制台会有这种字样(xxx代表你的PC名)

      eureka的控制台会打印出如下字样(xxx代表你的PC名)

    2. )再次访问localhost:1111,会发现有服务注册到注册中心了 

三、服务发现和消费

完整目录结构如下:

搭建过程:

  1. 创建maven工程(具体实现略)
  2. 修改pom文件,引入依赖
  3. 创建启动类

  4. 创建controller
  5. 配置application.properties文件
  6. 启动,测试
    1. )启动eureka。为了展示负责均衡的效果,我们的hello-service启动两个服务,启动两个服务的具体步骤如下
      1. 以上是hello-service1的启动步骤,端口号为9090;同样方法设置hello-service2,端口号为9091(具体实现略)。

    2. )启动hello-consumer
    3. )再次访问http://localhost:1111/,会发现有2个hello-service服务(端口号一个是9090,一个是9091),1个hello-consume服务
    4. )   多次访问http://localhost:9999/hello-consumer,会发现hello-service1和hello-service2会轮流被调用(已经实现了负责均衡),可以通过两者的控制台打印内容确认(还记得我们在hello-service的controller中有个loggerlogger.info("*********" + instance.getServiceId());吗?对,就是这个打印)

       

四、总结

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

  • 通过spring-cloud-starter-eureka-server和@EnableEurekaServer实现服务注册中心
  • 通过spring-cloud-starter-eureka和@EnableDiscoveryClient使用并注册到服务注册中心
  • 通过spring-cloud-starter-eureka和@EnableDiscoveryClient使用注册中心并发现服务,通过spring-cloud-starter-ribbon来实现负载均衡消费服务

PS:这里说明下,我用的IDE是Spring Tool Suite,是spring定制版的eclipse,方便我们使用spring进行开发,有兴趣的朋友可以自行百度了解下。

 

from:https://www.cnblogs.com/sam-uncle/p/8954401.html