iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >SpringCloud Eureka服务注册中心应用入门实例分析
  • 775
分享到

SpringCloud Eureka服务注册中心应用入门实例分析

2023-07-02 17:07:55 775人浏览 薄情痞子
摘要

这篇文章主要介绍“SpringCloud Eureka服务注册中心应用入门实例分析”,在日常操作中,相信很多人在springCloud Eureka服务注册中心应用入门实例分析问题上存在疑惑,小编查阅了各式资料,整理出简

这篇文章主要介绍“SpringCloud Eureka服务注册中心应用入门实例分析”,在日常操作中,相信很多人在springCloud Eureka服务注册中心应用入门实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SprinGCloud Eureka服务注册中心应用入门实例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    1.多节点无缝切换问题

    • 分布式节点中的服务宕机或者重启不影响客户端使用

    • 分布式节点中的服务宕机重启不影响业务服务内部通信

    如果在某个分布式系统中想要解决上述问题,那么这篇文章就是精华之处。

    回顾一下以前的常用手段:

    • 单节点运行,其他节点备用,无法无缝连接,内网通信无法保证

    • 多节点运行,Nginx转发,这种时候需要加探测,内网通信需要先走到nginx

    • 多节点运行,再运行gateway做静态转发,宕机节点无法过滤

    那么服务注册与发现就油然而生。

    2.服务注册与发现 Eureka

    Eureka是什么?

    Eureka是springcloud的核心模块之一,它是一个基于RestFul的服务,用于实现中间层服务发现和故障转移,Eureka对于微服务来说是非常重要的。

    有了Eureka后,在服务中通信只需要使用对应的服务表示,不再需要再配置文件中配一堆地址了,功能类似于dubbo的注册中心ZooKeeper

    Eureka原理

    Eureka采用C/S的架构设计,所有的客户端都往服务端注册,在客户端中都与Eureka服务端保持心跳连接,在内网通信中可以直接使用服务名来调用其他服务,例如zuul、gatewway、内网rpc通信。

    Eureka基于心跳的形式保持连接,在客户端启动后,默认每30s往服务端发送心跳,如果服务端在默认90s(三个周期)后没有接收客户端的心跳,则会将这个客户端移除。

    3.SpringBoot集成Eureka

    3.1 父包pom依赖

    基于springboot2.6.8,spring-cloud-dependencies2021.0.3

    <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.8</version></parent><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>2021.0.3</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

    3.2 eureka服务端

    eureka服务端依赖

    <!--注册中心eureka--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency>

    yml配置

    server:
      port: 7510

    eureka:
      instance:
        hostname: localhost
        #显示真实IP 显示DS replicas副本集
        prefer-ip-address: true
      client:
        # false表示自己端就是注册中心,不需要去检索服务
        fetch-reGIStry: false
        # false表示不向注册中心注册自己,因为自己本身就是注册中心
        register-with-eureka: false
        #其他服务的注册地址
        service-url:
          defaultZone: Http://${eureka.instance.hostname}:${server.port}/eureka/
      server:
        #关闭自我保护
        enable-self-preservation: false
        #启用主动失效,并且每次主动检测客户端 间隔为3s 默认60s
        #解决失联服务没被移除的问题
        eviction-interval-timer-in-ms: 3000

    Java代码

    启动类添加注解

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

    获取当前已注册的服务信息

    List<Application> applications = EurekaServerContextHolder.getInstance().getServerContext().getRegistry().getSortedApplications();applications.forEach(application -> {    application.getInstances().forEach(info -> {    //c.e.e.controller.EurekaTestController    : ORDER-SERVICE -- localhost:order-service:7530        log.info("{} -- {}", info.getAppName(), info.getInstanceId());    });});

    3.3 客户端

    pom依赖
    <!--注册中心eureka client--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency>
    yml配置

    server:
      port: 7530

    eureka:
      client:
        service-url:
          #服务端注册地址
          defaultZone: http://127.0.0.1:7510/eureka/
      instance:
        #控制台status显示真实ip 需要配合prefer-ip-address
    #    instance-id: ${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}
        #显示真实IP
        prefer-ip-address: true
        #每3秒发送心跳,证明存活
        lease-renewal-interval-in-seconds: 3
        #告知服务端超过5秒未收到当前服务心跳视为挂掉
        lease-expiration-duration-in-seconds: 5

    spring:
      application:
        name: order-service
      jackson:
        default-property-inclusion: non_null
        time-zone: Asia/Shanghai
      cloud:
        inetutils:
          #指定取网段的网卡 未开始真实ip时默认就是localhost
          preferred-networks: 192.168.0

    preferred-networks和prefer-ip-address均配置时,如下图所示

    SpringCloud Eureka服务注册中心应用入门实例分析

    都不配置时,如下图所示,此时内网ip是不通的

    SpringCloud Eureka服务注册中心应用入门实例分析

    启动类上加@EnableEurekaClient注解

    3.4 控制台

    访问http://127.0.0.1:7510/,注意不是服务注册地址

    SpringCloud Eureka服务注册中心应用入门实例分析

    同一个服务不同端口,一个客户端打开了instance-id配置,显示的是真实IP。一个未打开显示的是localhost

    PS:目前这个配置已在线上跑过,未发现其他问题!

    到此,关于“SpringCloud Eureka服务注册中心应用入门实例分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

    --结束END--

    本文标题: SpringCloud Eureka服务注册中心应用入门实例分析

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

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

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • SpringCloud Eureka服务注册中心应用入门实例分析
      这篇文章主要介绍“SpringCloud Eureka服务注册中心应用入门实例分析”,在日常操作中,相信很多人在SpringCloud Eureka服务注册中心应用入门实例分析问题上存在疑惑,小编查阅了各式资料,整理出简...
      99+
      2023-07-02
    • SpringCloud Eureka服务注册中心应用入门详解
      目录1.多节点无缝切换问题2.服务注册与发现 Eureka3.Springboot集成Eureka3.1 父包pom依赖3.2 eureka服务端3.3 客户端pom依赖yml配置3...
      99+
      2024-04-02
    • Spring Cloud Eureka服务注册中心入门流程分析
      目录项目搭建客户端注册聚合层处理Eureka架构集群搭建多区域配置自我保护开关心跳机制Eureka实例信息存储项目地址在学习Ribbon使用的时候,我们是直接在配置文件中写死服务地址...
      99+
      2024-04-02
    • 如何进行springcloud中的注册中心Eureka分析
      如何进行springcloud中的注册中心Eureka分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了...
      99+
      2023-06-05
    • 5分钟搭建SpringCloud Eureka服务注册中心的实现
      创建父级项目 只需保留pom.xml文件 这里只需搭建一个微服务 其他操作并无 <?xml version="1.0" encoding="UTF-8"?...
      99+
      2024-04-02
    • SpringCloud高可用服务注册中心Eureka的用法
      这篇文章主要介绍“SpringCloud高可用服务注册中心Eureka的用法”,在日常操作中,相信很多人在SpringCloud高可用服务注册中心Eureka的用法问题上存在疑惑,小编查阅了各式资料,整理出...
      99+
      2024-04-02
    • SpringColud Eureka服务注册与发现的示例分析
      本篇文章为大家展示了SpringColud Eureka服务注册与发现的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、Eureka简介本文中所有代码都会...
      99+
      2024-04-02
    • Spring Cloud中服务注册与发现Eureka的示例分析
      这篇文章将为大家详细讲解有关Spring Cloud中服务注册与发现Eureka的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、spring cloud简介spring cloud 为开发人员...
      99+
      2023-06-19
    • Spring Cloud | 实现Eureka Server 高可用服务注册中心全套解决方案
      目录 1、在搭建Eureka Server,配置高可用服务注册中心,配置3个Eureka Server:2、因为是在本地实现的话,需要在localhost加入三个服务,需要改变etc/host...
      99+
      2023-10-23
      java spring spring cloud eureka 微服务
    • iptables从入门到应用的实例分析
      iptables从入门到应用的实例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。iptables从入门到应用 一、简介 1.1、是什么?...
      99+
      2023-06-06
    • Spring Cloud中如何使用Eureka集群搭建高可用服务注册中心
      今天就跟大家聊聊有关Spring Cloud中如何使用Eureka集群搭建高可用服务注册中心,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。这一篇主要介绍一下如何搭建一个高可用的 Eu...
      99+
      2023-06-04
    • SpringCloud通过Nacos实现注册中心与远程服务调用详解流程
      目录1. 基于Nacos实现服务注册与发现1.1 pom依赖1.2 yaml配置1.3 添加启动注解1.4 启动服务查看控制台2.基于Nacos实现远程服务调用2.1 客户端创建Re...
      99+
      2024-04-02
    • SpringBoot实现服务接入nacos注册中心流程详解
      目录概述接入nacos注册中心springboot服务pom文件application.properties配置源码分析小结源码流程图概述 某些场景下只需要把springboot微服...
      99+
      2023-01-13
      SpringBoot接入nacos注册中心 SpringBoot接入nacos
    • SpringCloud服务的发现与调用实例分析
      这篇文章主要介绍“SpringCloud服务的发现与调用实例分析”,在日常操作中,相信很多人在SpringCloud服务的发现与调用实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringCloud...
      99+
      2023-07-02
    • 微服务的服务注册与发现实践示例分析
      本文小编为大家详细介绍“微服务的服务注册与发现实践示例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“微服务的服务注册与发现实践示例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1 服务注册中心前面我们对...
      99+
      2023-06-29
    • ASP.Net Core MVC中服务注册和管道的示例分析
      这篇文章给大家分享的是有关ASP.Net Core MVC中服务注册和管道的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。DI容器呢, 依赖接口, 所以我们先新建一个接口, 就叫 IW...
      99+
      2023-06-29
    • Spring Cloud如何实现高可用的服务注册中心
      这篇文章主要介绍了Spring Cloud如何实现高可用的服务注册中心,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、准备工作Eureka can be made even...
      99+
      2023-06-19
    • Angular6中服务和依赖注入的示例分析
      这篇文章主要介绍Angular6中服务和依赖注入的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在开发中,组件一般用来写视图有关的功能,服务则写一些其他的逻辑,诸如从服务器获...
      99+
      2024-04-02
    • 深入分析与实例:Python中的lambda函数应用
      Python中lambda函数的实例应用与案例分析 Python是一门多范式的编程语言,支持函数式编程。在函数式编程中,lambda函数是一种非常有用的工具。它是一种匿名函数,可以在需要函数的地方使用,并且可以快速定义简单的功能...
      99+
      2024-02-03
      案例分析 lambda函数 实例应用
    • 阿里云服务器应用实例从入门到精通
      本文将详细介绍阿里云服务器的应用实例,包括如何搭建、管理及优化服务器。从入门到精通,本文将带您全面了解阿里云服务器。 一、搭建阿里云服务器阿里云服务器是阿里云推出的一款高性能、高可用的云服务器产品,能够满足企业级用户的各种需求。首先,您需要...
      99+
      2023-10-31
      阿里 应用实例 入门
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作