Eureka代码入门

一 单例Eureka

1.1 基本思路

  1. 建立spring-cloud父级项目,再父级项目中引入spring-cloud的jar包
  2. 建立Eureka的子项目,并在父项目中注册。引入Eureka的jar包
  3. 子项目中配置Eureka,启动即可完成

1.2 具体实现

ps:只写出了部分重要代码,完成版等我那天有空了上传一下github。

敲黑板,有空了!有空了!有空了!有空了!有空了!有空了!有空了!

1.2.1 父项目pom引入spring-cloud

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

1.2.2 引入Eureka的jar包

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

1.2.3 application.yml文件编写

server:
  port: 8761
spring:
  application:
    #应用标识,再Eureka中作为服务的id标识(serviceId)
    name: lagou-cloud-eureka-server

eureka:
  instance:
    hostname: localhost
  client:
    # 客户端与EurekaServer交互的地址,如果是集群,需要填写其他server的地址
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
      register-with-eureka: false # 表示自己就是注册中心,不用注册自己
      fetch-registry: false  # 表示自己就是注册中心,不用去注册中心获取其他服务的地址

1.2.4 启动之后页面相关信息

太多了,那天陈则龙不气我了,我就补起来。如果可以的话,大家去网爆他!

二 高可用集群

2.1 基本思路

  1. 当有两个或许节点的时候,Eureka是通过复制节点来进行服务注册列表的同步
  2. 所以配置多个节点的时候通过defaultZone来指定复制节点的位置。
  3. Eureka Server集群中每一个Server其实相对于其它Server来说都是Client**

2.2 具体实现

2.2.1 hosts文件配置主机名

需要注意修改完hosts文件之后需要重启游览器。因为游览器是打开读取。读取之后不会实时更新。

127.0.0.1 LagouCloudEurekaServerA
127.0.0.1 LagouCloudEurekaServerB

2.2.2 复制工程并修改yml文件

#eureka server服务端口
server:
  port: 8761
spring:
  application:
    name: lagou-cloud-eureka-server # 应用名称,应用名称会在Eureka中作为服务名称
    
    # eureka 客户端配置(和Server交互),Eureka Server 其实也是一个Client
eureka:
  instance:
    hostname: LagouCloudEurekaServerA  # 当前eureka实例的主机名
  client:
    service-url:
      # 配置客户端所交互的Eureka Server的地址(Eureka Server集群中每一个Server其实相对于其它Server来说都是Client)
      # 集群模式下,defaultZone应该指向其它Eureka Server,如果有更多其它Server实例,逗号拼接即可
      defaultZone: http://LagouCloudEurekaServerB:8762/eureka
    register-with-eureka: true  # 集群模式下可以改成true
    fetch-registry: true # 集群模式下可以改成true
  dashboard:
    enabled: true
#eureka server服务端口
server:
  port: 8762
spring:
  application:
    name: lagou-cloud-eureka-server # 应用名称,应用名称会在Eureka中作为服务名称

    # eureka 客户端配置(和Server交互),Eureka Server 其实也是一个Client
eureka:
  instance:
    hostname: LagouCloudEurekaServerB  # 当前eureka实例的主机名
  client:
    service-url: # 配置客户端所交互的Eureka Server的地址
      defaultZone: http://LagouCloudEurekaServerA:8761/eureka
    register-with-eureka: true
    fetch-registry: true

三 服务提供者集群

3.1 基本思路

  1. 引入client的相关坐标
  2. 添加application.yml文件Eureka Server高可用集群的地址及相关配置

3.2 具体实现

3.2.1 引入坐标

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

3.2.2 配置文件修改

#注册到Eureka服务中心
eureka:
  client:
    service-url:
      # 注册到集群,就把多个Eurekaserver地址使用逗号连接起来即可;注册到单实例(非集群模式),那就写一个就ok
      defaultZone: http://LagouCloudEurekaServerA:8761/eureka,http://LagouCloudEurekaServerB:8762/eureka
  instance:
    prefer-ip-address: true
    instance-id: 		            ${spring.cloud.client.ipaddress}:${spring.application.name}:${server.port}@project.version@

四 消费者集群

4.1基本思路

与服务提供者一样

4.2 具体实现

省略

五 消费者调用服务者

5.1 基本思路

  1. 通过Eureka
  2. 在启动类开启服务发现
  3. 通过DiscoveryClient从服务中心拿到相关实例,然后通过http请求进行消费。

5.2 具体实现

版本和我学习资料的版本不一致。所以截图一下,自己代码省略

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值