SpringCloud微服务之服务注册中心-Eureka的实现及使用

本文介绍了Eureka作为SpringCloud服务发现框架的角色,详细阐述了Eureka服务端和客户端的配置过程,包括依赖引入、YAML配置、启动类注解等,并展示了成功启动和注册服务的验证方法。

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

springcloud技术栈分布图:
在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、Eureka是什么?

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。
SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。

1.Eureka服务端

Eureka服务端,即服务注册中心。它同其他服务注册中心一样,支持高可用配置。依托于强一致性提供良好的服务实例可用性,可以应对多种不同的故障场景。

2.Eureka客户端

Eureka客户端,主要处理服务的注册和发现。

二、服务端配置

1.服务端引用eureka依赖

代码如下(示例):

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

2.服务端配置yml文件

代码如下(示例):

server:
  port: 7001
eureka:
  instance:
    hostname: localhost
  client:
    #false标识注册中心不注册自己
    register-with-eureka: false
    #false表示自己端是注册中心
    fetch-registry: false
    #设置与server交互的地址查询服务和注册服务都需要依赖找个地址
    service-url:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

3.服务端启动类加入注解@EnableEurekaServer

@SpringBootApplication
@EnableEurekaServer
public class EurekaMain {
    public static void main(String[] args) {
        SpringApplication.run(EurekaMain.class,args);
    }
}

4.服务端启动

启动后,访问localhost:7001,看到下图则表示访问成功,可以看到目前还没有服务注册。
在这里插入图片描述

二、客户端配置

1.客户端引用eureka依赖

代码如下(示例):

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

2.客户端配置yml文件

代码如下(示例):

server:
  port: 8001
spring:
  application:
    name: cloud-payment-service
eureka:
  client:
    register-with-eureka: true #是否向注册中心注册自己
    fetchRegistry: true #是否从注册中心抓取已有的注册信息 默认true,集群必须设置为true
    service-url:
      # 设置与eureka server交互的地址查询服务和注册服务都需要依赖这个地址
      defaultZone: http://localhost:7001/eureka

3.客户端启动类加入注解@EnableEurekaClient

@SpringBootApplication
@EnableEurekaClient
public class PaymentMain {
    public static void main(String[] args) {
        SpringApplication.run(PaymentMain.class,args);
    }
}

4.客户端启动

启动后,刷新localhost:7001,如图表示注册中心发现服务,此服务名称是客户端yml文件中的name属性的名称,则表示配置成功。
在这里插入图片描述

总结

关于springcloud微服务的eureka的使用和配置就讲到这里,如果有需要其他微服务的技术需要,可以关注,后续会陆续更新所有技术的使用方式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值