其他分享
首页 > 其他分享> > springboot集成eurake

springboot集成eurake

作者:互联网

开发步骤

  1. 引 pom
  2. 改yaml
  3. 朱启动类添加注解
  4. 启动项目,登录地址

新版eurake的依赖分成了两个依赖一个是server,一个是client,便于开发管理

服务端

pom

新版eurake的依赖分成了两个依赖一个是server,一个是client,便于开发管理
在这里插入图片描述

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>

单机版yaml

server:
  port: 8001

#单机模式
eureka:
  instance:
    hostname: localhost #eureka服务端的实例名称
  client:
    register-with-eureka: false #是否向注册中心注册自己 ,因为自己就是注册中心 所以不用向自己注册自己
    fetch-registry: false # 发现服务列表,因为自己是注册中心 所以不用发现
    service-url:
      #单机版注册地址,写自己的地址  如果是集群,则把后面的值改成 其它的 注册中心 对应的地址
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

集群版yaml

集群就是相互注册, 注册中心A注册到注册中心B ,注册中心B注册到注册中心A
service-url:defaultZone 原本写自己这个注册中心的地址,现在改成写其他注册中心的地址了。多个地址用逗号隔开。

设置两台注册中心 8001和8002
8001的ymal

server:
  port: 8001

#单机模式
eureka:
  instance:
    hostname: localhost #eureka服务端的实例名称
  client:
    register-with-eureka: false #是否向注册中心注册自己 ,因为自己就是注册中心 所以不用向自己注册自己
    fetch-registry: false # 发现服务列表,因为自己是注册中心 所以不用发现
    service-url:
      #此处协商8002的注册地址
      defaultZone: http://localhost:8002/eureka/

8002的yaml

server:
  port: 8002

#单机模式
eureka:
  instance:
    hostname: localhost #eureka服务端的实例名称
  client:
    register-with-eureka: false #是否向注册中心注册自己 ,因为自己就是注册中心 所以不用向自己注册自己
    fetch-registry: false # 发现服务列表,因为自己是注册中心 所以不用发现
    service-url:
      #此处写上8001的注册地址
      defaultZone: http://localhost:8001/eureka/

映射主机地址

在配置集群的时候 需要映射主机地址,修改hosts文件
不然eureka的ui的显示的注册中心的名称都是 localhost,无法区分到底是哪台注册中心

如8001显示的 8002注册中心名字为 localhost.,而8002注册中心显示的8001的名字也为localhost,无法分清localhost到底指的是哪一台注册中心,所以需要映射主机地址
ps: DS Replicas显示的是其它伙伴(注册中心)的ip地址 ,即使修改了 服务端实例名称,

 eureka:
  	instance:
  	  hostname: 你想换成的实例名字

在DS Replicas上也会显示成ip地址,所以需要修改主机映射地址。

在这里插入图片描述

在这里插入图片描述

启动

朱启动类上加注解eureka server端启动注解 @EnableEurekaServer
注意可client端的启动注解 @EnableEurekaSlient 区分
浏览器输入 localhost:端口号 即可进入eureka 的ui界面

client端

pom

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>

单机版yaml

server:
  port: 9001
spring:
  application:
    name: provider-service #这个name 会在注册中心中显示

eureka:
  client:
    #表示是否将自己注册进EurekaServer默认为true,注册中心的才为false
    register-with-eureka: true
    #是否从EurekaServer抓取已有的注册消息,默认为true,单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡
    fetch-registry: true
    service-url:
      #单机版        
      defaultZone: http://localhost:8001/eureka/
  instance:
    instance-id: provider9001  #主机名的修改
    prefer-ip-address: true #访问路径可以显示ip
    #Eureka客户端向服务端发送心跳的实际间隔,单位为秒(默认为30秒)
    lease-renewal-interval-in-seconds: 1
    #Eureka服务端收到最后一次心跳后等待时间上线,单位为秒(默认为90秒) 超时将剔除服务
    lease-expiration-duration-in-seconds: 2

不想让服务注册金eureka 则把 register-with-eureka: true 改成false即可。

集群版yaml

与服务端的集群配置类似。
集群版的yaml相对于单机版只有一个地方改动了 ,defaultZone位置
单机版时只写一个注册中心的地址,集群版则协商多个注册中心的地址,多个地址用逗号隔开

 service-url:
      #集群版        
      defaultZone: http://localhost:8001/eureka/,http://localhost:8002/eureka/

启动

在追启动类上加@EnableEurekaClient , eureka client端的启动注解
部分参数在注册中心上的显示
instance-id: provider9001 #主机名的修改
spring.application.name: provider-service #这个app name会显示在注册中心中
在这里插入图片描述
prefer-ip-address: true #访问路径可以显示ip 这个参数把鼠标点在eureka界面上的主机名上就会显示ip。

标签:集成,springboot,中心,eureka,地址,注册,8001,localhost,eurake
来源: https://blog.csdn.net/qq_45812181/article/details/119463534