Eureka服务端

一般我们Server端会像下图一样,引入Eureka,下面就通过这个来分析Eureka服务端源码流程
在这里插入图片描述

一、服务端配置
@EnableEurekaServer会引入EurekaServerMarkerConfiguration类
在这里插入图片描述

EurekaSeverMarkerConfiguration最终会引入Marker对象,这就是一个标记对象
在这里插入图片描述

二、SpringBoot 加载EurekaServerAutoConfiguration
SpringBoot会在启动的时候加载 spring-cloud-netflix-eureka-server端下面的META-INF下面的EurekaServerAutoConfiguration
让我们来看看这个类
在这里插入图片描述

在@ConditionalOnBean这里我们就会发现当时加的Marker多有用了

三、EurekaServerAutoConfiguration和EurekaClientAutoConfiguration详解
这个类通过 @configuration和@bean,引入了很多Eureka源码中常见的组件
3.1 实例管理组件
在这里插入图片描述

ApplicationInfoManager 实例管理器, Eureka-server会依赖Eureka-client,Eureka client又会导入EurekaClientAutoConfiguration
这个类会导入实例管理器,
在这里插入图片描述

里面的实例信息为:
在这里插入图片描述

3.2 Eureka client实例
Eureka Server在运行的时候,也需要eureka client,因为它也需要向其他server进行网络通信
在这里插入图片描述

3.3 client端 服务注册组件
在这里插入图片描述

3.2 server端 服务发现、注册组件
在这里插入图片描述

完成后续的服务端启动的时候,从相邻节点拉取全量的注册表信息

3.3 集群节点管理组件
在这里插入图片描述

集群节点配置信息,当server端新增节点的时候,都是要向相邻节点注册上去的

3.4 eureka server上下文
在这里插入图片描述
在这里插入图片描述

Server端 接收请求组件,类似于springmvc的 controller
在这里插入图片描述

3.6 EurekaServer初始化组件

在这里插入图片描述

四、Server端完整流程(最重要)
上面这些组件都准备好了,server端就要开始启动了,看看入口在哪里,有哪些流程?
4.1 服务注册
一般来说,server启动完成后,会向其他server端进行服务注册,这一步在那里?其实就是我们上面说的
EurekaAutoServiceRegistration
它的start会完成向服务端注册
在这里插入图片描述

4.2 服务发现
Server端的服务发现和Client端的服务发现是不一样的,Server端的服务发现是要从相邻的server节点拉取注册表

上面不是引入一个EurekaServerInitializerConfiguration
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里非常重要,通过调用PeerAwareInstanceRegistry
的syncUp来同步相邻节点的注册表信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/289958.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Canal+RabbitMQ实现MySQL数据同步至ClickHouse

ClickHouse作为一个被广泛使用OLAP分析引擎,在执行分析查询时的速度优势很好的弥补了MySQL的不足,但是如何将MySQL数据同步到ClickHouse就成了用户面临的第一个问题。本文利用Canal来实现ClickHouse实时同步MySQL数据,使用RabbitMQ来做消息队…

c++语言基础16-出现频率最高的字母

题目描述 给定一个只包含小写字母的字符串,统计字符串中每个字母出现的频率,并找出出现频率最高的字母,如果最高频率的字母有多个,输出字典序靠前的那个字母。 输入描述 包含多组测试数据,每组测试数据占一行。 输…

在ARMv8中aarch64与aarch32切换

需求描述 在项目调试过程中,由于内存或磁盘空间不足需要将系统从aarch64切换到aarch32的运行状态去执行,接下来记录cortexA53的调试过程。 相关寄存器描述 ARM64: SPSR_EL3 N (Negative):表示运算结果的最高位,用于指示运算结果是否为负数。 Z (Zero):表示运算结果是否…

Spark Streaming的DStream与窗口操作

实时数据处理已经成为当今大数据时代的一个重要领域,而Spark Streaming是Apache Spark生态系统中的一个关键模块,用于处理实时数据流。本文将深入探讨Spark Streaming中的DStream(离散流)概念以及如何使用窗口操作来处理实时数据。…

如何将Docker中的Tomact彻底删除

目录 前言: 一.删除Tomcat容器 列出所有在运行的容器信息 ​编辑 如果tomcat容器正在运行先停止,可以通过容器id或者容器名称 再次查看容器运行情况,可以看到没有运行中的容器了. 查看所有容器(-a表示查看所有)无…

【数据结构】一些数组面试题以及顺序表的思考

简单不先于复杂,而是在复杂之后。 文章目录 1. 数组相关面试题2. 顺序表的问题及思考 1. 数组相关面试题 1.原地移除数组中所有的元素val,要求时间复杂度为O(N),空间复杂度为O(1)。 int removeElement(int* nums, int numsSize, int val) {i…

Ps:创建基于颜色的蒙版

有时候画面上的某种颜色显得不是很和谐,如下图所示。 将画面上的某种颜色换掉,也是得到创意效果的一种重要手段。 演示视频 如果能创建好相关颜色的蒙版,这样在替换颜色的时候就会更加方便。 ◆ ◆ ◆ 创建基于颜色的蒙版 主要思路&#xf…

8. C++ function的介绍和使用

std::function的介绍和使用 std::function是一个可变参类模板,是一个通用的函数包装器(Polymorphic function wrapper)。std::function的实例可以存储、复制和调用任何可复制构造的可调用目标,包括普通函数、成员函数、类对象&am…

系列七、Ribbon

一、Ribbon 1.1、概述 Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具,是Netflix发布的一款开源项目,其主要功能是提供客户端的软件负载均衡算法和服务调用,Ribbon客户端组件提供一系列完善的配置项,例如&#xff1a…

组合算法简单实现

组合算法 目录概述需求: 设计思路实现思路分析1.简单的字符串方式 参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip hardness,make a better result,wait for change,challenge …

网页爬虫对于网络安全有哪些影响?

在当今信息爆炸的时代,网络已经成为人们获取信息、交流思想和开展业务的重要平台。然而,随着网络的普及和技术的不断发展,网络安全问题也日益凸显,其中网页爬虫对网络安全的影响不容忽视。本文将就网页爬虫对网络安全的影响进行深…

XYZ世代

Z世代,Gen Zers,Generation Z ,一词最早出现于欧美地区,是美国及欧洲的流行用语,泛指在1995-2009年间出生的一代人,千禧后一代。又称网络世代、互联网世代,网生代,二次元世代&#x…

项目框架构建之3:Nuget服务器的搭建

本文是“项目框架构建”系列之3,本文介绍一下Nuget服务器的搭建,这是一项简单的工作,您或许早已会了。 1.打开vs2022创建Asp.net Web应用程序 框架选择.net framework4.8,因为nuget服务器只支持.net framework。 2.选择空项目和去…

multipath 内核接口及框架介绍

文章目录 1 云主机使用网络存储 io 流程2 multipath 介绍 1 云主机使用网络存储 io 流程 对于一个云服务环境,大致会有网络节点,存储节点,计算节点,控制节点,其中虚拟云主机在计算节点工作,而虚拟云主机&a…

Unity SVN更新提交小工具

Unity SVN更新提交小工具 前言使用说明必要前提源码参数说明 感谢 前言 Unity开发时每次都要到文件夹中操作SVN,做了一个小工具能够在Editor中直接操作。 使用说明 必要前提 前提是要安装好SVN,在文件夹右键能够看到安装的SVN 源码 using System…

UE4.27.2 网页串流

1、和Unity串流一样安装Node.js 下载地址https://nodejs.org/ 2、下载安装Epic Games启动程序https://www.unrealengine.com/zh-CN/download 3、安装UE4.7.2 4、这里就不安装像素流送演示,选个别的然后创建工程 5、启用PixelStreaming插件 6、设置额外启动参数&am…

uni-app 前后端调用实例 基于Springboot 详情页实现

锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…

OEE如何为制造企业实施ISO50001提供支持

ISO50001是一项旨在帮助企业建立和实施能源管理体系的国际标准,以提高能源效率、降低能源消耗和减少环境影响。而设备OEE(设备综合效率)作为一个关键的生产效率指标,可以为企业实施ISO50001提供重要的支持。本文将介绍ISO50001能源…

Hive10_窗口函数

窗口函数(开窗函数) 1 相关函数说明 普通的聚合函数聚合的行集是组,开窗函数聚合的行集是窗口。因此,普通的聚合函数每组(Group by)只返回一个值,而开窗函数则可为窗口中的每行都返回一个值。简单理解,就是对查询的结果多出一列…

计算机网络期末知识点总结

计算机网络概述考点 计算机网络的组成 从组成部分看:一个完整的计算机网络主要由硬件、软件、协议三大部分组成,缺一不可。硬件主要指:主机、通信链路、交换设备和通信设备等;软件主要指:用户使用的各种软件&#xf…