首页 > 其他分享 >9-springcloud-eureka-5-从Eureka服务注册中心发现与消费服务

9-springcloud-eureka-5-从Eureka服务注册中心发现与消费服务

时间:2023-04-06 14:12:35浏览次数:39  
标签:服务 springcloud eureka 注册 Eureka Ribbon 客户端

已经搭建一个服务注册中心,同时也向这个服务注册中心注册了服务,接下来我们就可以发现和消费服务了,这其中服务的发现由 eureka 客户端实现,而服务的消费由 Ribbon 实现,也就是说服务的调用需要 eureka 客户端和 Ribbon,两者配合起来才能实现;

Eureka 客户端是一个 Java 客户端,用来连接 Eureka 服务端,与服务端进行交互、负载均衡,服务的故障切换等;

Ribbon 是一个基于 HTTP 和 TCP 的客户端负载均衡器,当使用 Ribbon 对服务进行访问的时候,它会扩展 Eureka 客户端的服务发现功能,实现从Eureka

注册中心中获取服务端列表,并通过 Eureka 客户端来确定服务端是否己经启动。

Ribbon 在 Eureka 客户端服务发现的基础上,实现了对服务实例的选择策略,

从而实现对服务的负载均衡消费。

接下来我们来让服务消费者去消费服务:

我们前面搭建了服务消费者项目,接下来我们就可以使用该服务消费者通过注册中心去调用服务提供者,步骤如下:

1、在该消费者项目中添加 eureka 的依赖,因为服务消费者从注册中心获取服

务,需要连接 eureka,所以需要 eureka 客户端的支持; demo1-consumer项目中操作

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

2、激活 Eureka 中的 EnableEurekaClient 功能:

在 Spring Boot 的入口函数处,通过添加@EnableEurekaClient 注解来表明自己是一个 eureka 客户端,让我的服务消费者可以使用 eureka 注册中心;

3、配置服务的名称和注册中心的地址:

spring.application.name=34-springcloud-service-portal

eureka.client.service-url.defaultZone=http://localhost:8761/eureka

4、前面我介绍了服务的发现由 eureka 客户端实现,而服务的真正调用由 ribbon实现,所以我们需要在调用服务提供者时使用 ribbon 来调用:

@LoadBalanced//使用Ribbon实现负载均衡的调用--待定ribbon-此步骤没试
@Bean
public RestTemplate restTemplate() {
    return new RestTemplate();
}

加入了 ribbon 的支持,那么在调用时,即可改为使用服务名称来访问:

restTemplate.getForEntity("http://34-SPRINGCLOUD-SERVICE-GOODS/service/goods",

String.class).getBody();

5、完成上面的步骤后,我们就可以启动消费者的 SpringBoot 程序,main 方法运行;

6、启动成功之后,通过在浏览器地址栏访问我们的消费者,看是否可以正常调

用远程服务提供者提供的服务;

 

标签:服务,springcloud,eureka,注册,Eureka,Ribbon,客户端
From: https://www.cnblogs.com/healthinfo/p/17292560.html

相关文章

  • 8-springcloud-eureka-4-向Eureka服务注册中心注册服务
    eureka-server就是我们自己开发的module,是eureka的服务端,扮演注册中心的角色;eureka-client就是我们自己开的微服务module,向eureka-server注册中心注册服务;前面搭建了服务提供者项目,接下来我们就可以将该服务提供者注册到Eureke注册中心,步骤如下:demo1-provider项目中操作1、在......
  • SpringCloud Config
    为什么需要配置中心单体应用,配置写在配置文件中,没有什么大问题。如果要切换环境可以切换不同的profile(2种方式),但在微服务中。微服务比较多。成百上千,配置很多,需要集中管理。管理不同环境的配置。需要动态调整配置参数,更改配置不停服。配置中心介绍分布式配置中心包......
  • SpringCloud——SpringCloud Alibaba Sentinel原理与实战
    摘要在微服务架构中,我们将系统拆分成了很多服务单元,各单元的应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟而这些问题会直接导致调用方的对外服务也出现延......
  • SpringCloud——SpringCloud Sleuth原理与实战
    摘要SpringCloudEureka是SpringCloudNetflix微服务套件中的一部分,它基于NetflixEureka做了二次封装,主要负责完成微服务架构中的服务治理功能。SpringCloud通过为Eureka增加了SpringBoot风格的自动化配置,我们只需通过简单引入依赖和注解配置就能让SpringBoot构建的微服务......
  • 7-springcloud-eureka-3-搭建与配置eureka服务注册中心
    SpringCloud要使用Eureka注册中心非常简单和方便,SpringCloud中的Eureka服务注册中心实际上也是一个SpringBoot工程,我们只需通过引入相关依赖和注解配置就能让SpringBoot构建的微服务应用轻松地与Eureka进行整合。具体步骤如下:1、创建一个SpringBoot项目,并且添......
  • 3-springcloud整体架构及调用举例
    SpringCloud的整体架构  ServiceProvider:暴露服务的服务提供方。ServiceConsumer:调用远程服务的服务消费方。EureKaServer:服务注册中心和服务发现中心。   ......
  • SpringCloud Admin健康检查
    1.什么是SpringBootAdmin?SpringBootAdmin是codecentric公司开发的一款开源社区项目,目标是让用户更方便的管理以及监控SpringBoot®应用。应用可以通过我们的SpringBootAdmin客户端(通过HTTP的方式)或者使用SpringCloud(比如Eureka,consul的方式)注册。而前端UI则......
  • SpringCloud大文件上传解决方案支持分片断点上传
    ​IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag        客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续传......
  • Hugo-Eureka 主题安装指南
    前言虽然官方教程已经把主题安装方法说的挺清楚了,但是真正摸上手还是觉得这个主题坑比较多。玩别人的主题的时候,不会随便弄一下就报错,但是这个主题怎么搞都报错。其中一个重要原因就是不管哪种方法都需要为hugo-modules设置代理。下面对这个主题相关的步骤做了一个简单梳理,也......
  • day01-SpringCloud基本介绍
    SpringCloud基本介绍SpringCloud官方文档1.提出问题先思考一个问题,没有微服务技术,是不是程序员就不能开发大型项目?是可以的,对大型项目进行模块划分,对各个模块进行实现。但模块之间更多地是以API调用完成,耦合度较高,不利于拓展和维护(在没有微服务技术时,很多大型项目就已经使......