当前位置:   article > 正文

服务治理中间件-Eureka

服务治理中间件-Eureka

目录

简介

搭建Eureka服务

注册服务到Eureka


简介

Eureka是Spring团队开发的服务治理中间件,可以轻松在项目中,实现服务的注册与发现,相比于阿里巴巴的Nacos、Apache基金会的Zookeeper,更加契合Spring项目,缺点就是仅仅只有服务发现与治理功能。

搭建Eureka服务

在项目中,创建一个新的Module,可以通过IDEA快速创建

点击Create即可创建一个Module,同时引入Eureka依赖。

在启动类中,添加@EnableEurekaServer注解

  1. import org.springframework.boot.SpringApplication;
  2. import org.springframework.boot.autoconfigure.SpringBootApplication;
  3. import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
  4. @SpringBootApplication
  5. @EnableEurekaServer
  6. public class ServerEurekaApplication {
  7. public static void main(String[] args) {
  8. SpringApplication.run(ServerEurekaApplication.class, args);
  9. }
  10. }

在main文件中,创建资源文件夹resources,并创建application.yml文件,内容为

server:
  # 配置服务端口
  port: 8081
eureka:
  client:
    service-url:
      # 配置eureka服务器地址
      defaultZone: http://127.0.0.1:${server.port}/eureka
    #是否需要将自己注册到注册中心(注册中心集群需要设置为true)
    register-with-eureka: false
    #是否需要搜索服务信息 因为自己是注册中心所以为false
    fetch-registry: false

启动Module后,浏览器输入

http://localhost:8081/

即可打开Eureka

注册服务到Eureka

对于某个服务,注册到Eureka的流程如下:

【1】在该服务的启动类中添加 @EnableEurekaClient注解

  1. @SpringBootApplication
  2. @EnableEurekaClient
  3. public class ServiceAApplication {
  4. public static void main(String[] args) {
  5. SpringApplication.run(ServiceAApplication.class, args);
  6. }
  7. }

【2】在该服务的配置文件中,添加如下配置

  1. server:
  2. # 服务端口号
  3. port: 8082
  4. spring:
  5. application:
  6. # 服务名称 - 服务之间使用名称进行通讯
  7. name: service-objcat-a
  8. eureka:
  9. client:
  10. service-url:
  11. # 填写注册中心服务器地址
  12. defaultZone: http://localhost:8081/eureka
  13. # 是否需要将自己注册到注册中心
  14. register-with-eureka: true
  15. # 是否需要搜索服务信息
  16. fetch-registry: true
  17. instance:
  18. # 使用ip地址注册到注册中心
  19. prefer-ip-address: true
  20. # 注册中心列表中显示的状态参数
  21. instance-id: ${spring.cloud.client.ip-address}:${server.port}

效果如下图:下图包含了2个服务,其中服务A有两个实例

可以通过Eureka,为某个微服务,指定多个实例,Eureka会轮询多个实例中可以正常提供服务的实例,从而实现分流。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/80117
推荐阅读
相关标签
  

闽ICP备14008679号