返回顶部
首页 > 资讯 > 前端开发 > html >怎么用Spring Cloud的Eureka实现服务注册
  • 131
分享到

怎么用Spring Cloud的Eureka实现服务注册

2024-04-02 19:04:59 131人浏览 安东尼
摘要

今天小编给大家分享一下怎么用spring cloud的Eureka实现服务注册的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有

今天小编给大家分享一下怎么用spring cloud的Eureka实现服务注册的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

  Eureka 是 Netflix 开源的服务注册发现组件,服务发现可以说是微服务架构的核心功能了,微服务部署之后,一定要有服务注册和发现的能力,Eureka 就是担任这个角色的。如果你用过 dubbo 的话,那一定知道 dubbo 中服务注册和发现的功能是用 ZooKeeper 来实现的。

  Eureka 目前是 2.x 版本,并且官方已经宣布不再维护更新。不过其实 Eureka 已经很稳定了,当做注册中心完全没有问题。spring Cloud 集成了 Eureka ,并做了完善的封装。方便我们使用 Spring Boot 开发的时候简单配置就可以使用。

  微服务框架中有三类角色,分别是注册中心、服务提供者、服务消费者,注册中心就是今天要说的主角 Eureka,这篇文章简单说明 Spring Cloud Eureka 的使用,模拟实现单点和高可用注册中心,并简单介绍服务提供者和服务消费者如何使用 Eureka 提供的服务注册和发现功能。

  版本说明

  Java : 1.8

  Spring Boot : 2.1.3.RELEASE

  Spring Cloud: Finchley.SR2

  之说以要说一下版本,因为 Finchley.SR2 版本较之前的版本包名有变化,所以在引用 Maven 包的时候要注意。

  单点注册中心

  创建 Eureka 注册中心

  1、引用 maven 包,其中

  <dependencyManagement>

  <dependencies>

  <dependency>

  <groupId>org.springframework.cloud</groupId>

  <artifactId>spring-cloud-dependencies</artifactId>

  <version>Finchley.SR2</version>

  <type>pom</type>

  <scope>import</scope>

  </dependency>

  </dependencies>

  </dependencyManagement>

  <!-- 最新版的 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-actuator</artifactId>

  </dependency>

  2、新建 bootstrap.yml,并配置 Spring cloud 参数

  spring:

  application:

  name: kite-eureka-center

  cloud:

  inetutils: ## 网卡设置

  ignoredInterfaces:  ## 忽略的网卡

  - Docker0

  - veth.*

  - VM.*

  preferredNetworks:  ## 优先的网段

  - 192.168

  3、新建 application.yml ,并配置参数

  server:

  port: 3000

  eureka:

  instance:

  hostname: eureka-center

  appname: 注册中心

  client:

  reGISterWithEureka: false # 单点的时候设置为 false 禁止注册自身

  fetchRegistry: false

  serviceUrl:

  defaultZone: Http://localhost:3000/eureka

  server:

  enableSelfPreservation: false

  evictionIntervalTimerInMs: 4000

  bootstrap.yml 和 application.yml 的区别:

  bootstrap.yml 在 application.yml 之前启动;

  bootstrap.yml 配置 application 的 name、spring.cloud.config.server.git.uri、一些encryption/decryption(加密/解密)信息;

  application.yml 的信息会覆盖 bootstrap.yml 中的内容,当遇到相同的配置的时候;

  4、新建 Application.java 启动文件

  @EnableEurekaServer

  @SpringBootApplication

  public class Application {

  public static void main(String[] args) {

  SpringApplication.run(Application.class, args);

  }

  }

  @EnableEurekaServer 表示使用 Eureka Server 端功能,也就是启动为一个注册中心节点。

  5、运行 Application.java ,访问 http://localhost:3000 即可看到 Eureka 提供的 ui 控制台。

  创建一个服务提供者

  接下来创建一个服务提供者,并注册到上面创建的 Eureka 注册中心。

  1、添加 maven 依赖包

  <dependency>

  <groupId>org.springframework.boot</groupId>

  <artifactId>spring-boot-starter-WEB</artifactId>

  </dependency>

  <!-- eureka 客户端 -->

  <dependency>

  <groupId>org.springframework.cloud</groupId>

  <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>

  </dependency>

  2、配置 application.yml

  server:

  port: 3001

  eureka:

  instance:

  preferIpAddress: true

  client:

  serviceUrl:

  defaultZone: http://localhost:3000/eureka  ## 注册到 eureka

  spring:

  application:

  name: single-provider  ## 应用程序名称,后面会在消费者中用到

  3、创建一个简单的 RESTful 接口 controller

  @Slf4j

  @RestController

  public class ProviderController {

  @Autowired

  private DiscoveryClient discoveryClient;

  @RequestMapping(value = "/hello")

  public String hello(){

  List<String> services = discoveryClient.getServices();

  for(String s : services){

  log.info(s);

  }

  return "hello spring cloud!";

  }

  @RequestMapping(value = "/nice")

  public String nice(){

  List<String> services = discoveryClient.getServices();

  for(String s : services){

  log.info("Gogogo" + s);

  }

  return "nice to meet you!";

  }

  }

  4、创建 spring boot 启动类

  @EnableEurekaClient

  @SpringBootApplication

  public class SingleProviderApplication {

  public static void main(String[] args) {

  SpringApplication.run(SingleProviderApplication.class, args);

  }

  }

  @EnableEurekaClient 修饰,表示要注册到注册中心。

  5、启动项目,正常情况下就注册到了 Eureka 注册中心,打开 Eureka 控制台,会看到已经出现了这个服务

  创建一个服务消费者

  有了服务提供者,接下来创建一个消费者来消费一下

  1、引用 maven 包

  <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.cloud</groupId>

  <artifactId>spring-cloud-starter-openfeign</artifactId>

  </dependency>

  <dependency>

  <groupId>org.springframework.boot</groupId>

  <artifactId>spring-boot-starter-actuator</artifactId>

  </dependency>

  2、配置 application.yml

  server:

  port: 3002

  eureka:

  client:

  serviceUrl:

  defaultZone: http://127.0.0.1:3000/eureka  ## 注册到 eureka

  instance:

  preferIpAddress: true

  spring:

  application:

  name: single-customer

  3、开始消费提供者提供的服务接口,这里演示了两种消费方法,一种是用 RestTemplate ,另外一种是用 FeignClient,Feign 同样是 Netflix 开源,并被 Spring Cloud 封装到 spring-cloud-starter-openfeign 包中。

  创建启动类,并添加相关注解

  @SpringBootApplication

  @EnableEurekaClient

  @EnableFeignClients

  public class SingleCustomerApplication {

  

  @LoadBalanced

  @Bean

  public RestTemplate restTemplate() {

  return new RestTemplate();

  }

  public static void main(String[] args) {

  SpringApplication.run(SingleCustomerApplication.class, args);

  }

  }

  @EnableEurekaClient 声明此项目为一个 eureka 客户端,@EnableFeignClients 声明此项目可以使用 Feign。

  4、创建一个服务接口类,这是 Feign 的使用方式,详细的用法可以查一下 Spring Cloud Feign 相关文档

  

  @FeignClient("single-provider")

  public interface IHelloService {

  @RequestMapping(value = "/hello")

  String hello();

  @RequestMapping(value = "nice")

  String nice();

  }

  @FeignClient 注解的 value 为服务提供者的 appplication.name 。

  5、创建一个 Controller 用于调用服务

  @RestController

  public class ConsumerController {

  @Autowired

  private RestTemplate restTemplate;

  @Autowired

  private IHelloService helloService;

  private static final String applicationName = "single-provider";

  @RequestMapping(value = "feignRequest")

  public Object feignRequest(){

  String s = helloService.nice();

  return s;

  }

  @RequestMapping(value = "commonRequest")

  public Object commonRequest(){

  String url = "http://"+ applicationName +"/hello";

  String s = restTemplate.getForObject(url,String.class);

  return s;

  }

  }

  其中 feignRequest 方法是使用了 Feign 的方式调用服务接口;

  commonRequest 方法是用 RestTemplate 提供的方法调用服务接口;

以上就是“怎么用Spring Cloud的Eureka实现服务注册”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网html频道。

--结束END--

本文标题: 怎么用Spring Cloud的Eureka实现服务注册

本文链接: https://lsjlt.com/news/91030.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么用Spring Cloud的Eureka实现服务注册
    今天小编给大家分享一下怎么用Spring Cloud的Eureka实现服务注册的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有...
    99+
    2024-04-02
  • Spring Cloud中服务注册与发现Eureka的示例分析
    这篇文章将为大家详细讲解有关Spring Cloud中服务注册与发现Eureka的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、spring cloud简介spring cloud 为开发人员...
    99+
    2023-06-19
  • Spring Cloud Eureka:注册中心揭秘,服务发现的利器
    Spring Cloud Eureka 是一个服务发现框架,用于在分布式系统中管理和发现服务。它在微服务架构中扮演着至关重要的角色,提供了一种机制,使服务能够互相识别并与之通信。 Eureka 的架构 Eureka 采用客户端-服务器架...
    99+
    2024-03-07
    Spring Cloud Eureka 注册中心 服务发现 微服务
  • Spring Cloud Eureka服务注册中心入门流程分析
    目录项目搭建客户端注册聚合层处理Eureka架构集群搭建多区域配置自我保护开关心跳机制Eureka实例信息存储项目地址在学习Ribbon使用的时候,我们是直接在配置文件中写死服务地址...
    99+
    2024-04-02
  • Spring Cloud | 实现Eureka Server 高可用服务注册中心全套解决方案
    目录 1、在搭建Eureka Server,配置高可用服务注册中心,配置3个Eureka Server:2、因为是在本地实现的话,需要在localhost加入三个服务,需要改变etc/host...
    99+
    2023-10-23
    java spring spring cloud eureka 微服务
  • Spring Cloud Eureka 注册与发现操作步骤详解
    目录一、注册中心二、服务提供者三、服务消费者在搭建Spring Cloud Eureka环境前先要了解整个架构的组成,常用的基础模式如下图: 服务提供者:将springboot...
    99+
    2024-04-02
  • Spring Cloud中如何实现服务注册consul
    这篇文章给大家分享的是有关Spring Cloud中如何实现服务注册consul的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、consul 简介consul 具有以下性质:服务发现:consul通过http ...
    99+
    2023-06-19
  • .NET Core使用Eureka实现服务注册
    首先先安装nuget组件: Steeltoe.Discovery.ClientCore 然后在ConfigureServices中进行注入 services.AddDiscovery...
    99+
    2024-04-02
  • SpringCloud实现Eureka服务注册与发现
    目录一、Eureka概述 1、Eureka特点 2、Eureka两大组件 3、Eureka三大角色 二、Eureka Server服务注册中心 1、pom.xml2、applicat...
    99+
    2024-04-02
  • Spring Cloud如何实现高可用的服务注册中心
    这篇文章主要介绍了Spring Cloud如何实现高可用的服务注册中心,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、准备工作Eureka can be made even...
    99+
    2023-06-19
  • Eureka服务注册与发现
    ✨ Eureka服务注册与发现 微服务的注册中心注册中心的基本介绍注册中心的主要作用注册中心基本原理常见的注册中心 Eureka基本介绍服务治理服务注册Eureka 两大组件 搭建EurekaEureka端服务...
    99+
    2023-08-25
    eureka java 微服务 服务注册中心
  • Spring Cloud中如何使用Eureka集群搭建高可用服务注册中心
    今天就跟大家聊聊有关Spring Cloud中如何使用Eureka集群搭建高可用服务注册中心,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。这一篇主要介绍一下如何搭建一个高可用的 Eu...
    99+
    2023-06-04
  • Java Spring Cloud怎么创建服务注册中心
    本篇内容介绍了“Java Spring Cloud怎么创建服务注册中心”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!服务注册中心:我们要用到...
    99+
    2023-06-05
  • 怎么用Spring Cloud搭建高可用服务注册中心
    这篇文章主要讲解了“怎么用Spring Cloud搭建高可用服务注册中心”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用Spring Cloud搭建高可用服务注册中心”吧!增加配置文件在...
    99+
    2023-06-19
  • spring cloud eureka服务启动失败怎么解决
    本篇内容介绍了“spring cloud eureka服务启动失败怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2023-06-29
  • 怎样使用Spring Cloud搭建服务注册中心
    怎样使用Spring Cloud搭建服务注册中心,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。与dubbo不同的是,Spring Cloud是一个一站式分布式框架,Spring...
    99+
    2023-06-19
  • spring cloud的commonservice-eureka项目怎么构建
    本篇内容介绍了“spring cloud的commonservice-eureka项目怎么构建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2023-06-05
  • SpringCloud服务注册和发现组件Eureka
    目录一、Eureka简介:1.1 什么是eureka1.2 eureka的功能1.3 eureka服务注册与服务发现二、springcloud-eureka-server配置三、sp...
    99+
    2024-04-02
  • 5分钟搭建SpringCloud Eureka服务注册中心的实现
    创建父级项目 只需保留pom.xml文件 这里只需搭建一个微服务 其他操作并无 <?xml version="1.0" encoding="UTF-8"?...
    99+
    2024-04-02
  • SpringCloud Eureka服务治理之服务注册服务发现
    目录什么是EurekaEureka核心概念服务注册和服务发现服务注册服务发现Eureka实战Eureka服务端单节点构建Eureka服务端集群构建Eureka客户端构建什么是Eure...
    99+
    2022-11-13
    SpringCloud Eureka服务治理 SpringCloud Eureka服务注册发现
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作