简单描述这个过程:

生产者与消费者之间的供需关系仅凭这两者很难有效维持,比如某个消费者挂掉了,而生产者并不知道,就会依然给挂掉的消费者提供内容,那么此时的内容明显就是未获取到的,从而出现输出问题。或者,某个生产者挂了,消费者仍然去请求该生产者的内容,很显然也是请求不到的。

为了让两者之间能够正常沟通,构建一个代理,称为注册中心,注册中心的作用就是用于分配消费信息到不同的生产者。

也就是构建一个第三方来进行管理:生产者一旦开始生产,就需要去注册中心进行注册,将其ip地址等有效请求信息存放在注册表中,消费者从此之后不会在未建立连接时就去访问生产者,而是先通过注册中心,让注册中心去查找注册表,让消费者与某一个生产者进行匹配。匹配成功后,将对应的ip地址等连接信息给消费者,然后消费者再进行订阅。

需要明确的是,一个消费者申请的内容(接口),可能会涉及多个生产者。比如某个模块有多个生产者在进行维护,对应不同端口号。此时消费者去像注册中心申请时,注册中心会将这些端口号都交给消费者,消费者首先进行订阅,并将其存表,自身根据负载均衡从表中选取一个生产者构建链接。

最后,生产者与注册中心构建一个心跳协议,如果生产者挂掉了,注册中心的表与某个订阅该生产者的消费者维护表都会进行更新,从而不会错误的访问这个挂掉的生产者。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/88278.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/88278.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/88278.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于数据编码、进制、位运算的详细讲解(从属GESP三级)

本章内容 数据编码基础 进制转换 位运算基础 别让符号位绊住你的步伐,掌握补码,让加减法都成为加法。 一、 数据编码基础 目标:掌握 原码 / 反码 / 补码 的定义与互转、常见进制(2 / 8 / 10 / 16)互化方法&#x…

实战项目8(11)

任务场景一 按照下图完成网络拓扑搭建和配置 任务要求: 1、根据个人模拟器情况,将各交换机的MAC地址标注在拓扑图中,并将结果进行截图。 把每个交换机的这个复制粘贴出来【如上图绿色标记的】 【SW1】配置 dis stp 【SW2】配置 dis stp 【…

储能系统的离网,并网,构网,跟网 简介

一、并网(Grid-Connected) ✅ 定义:PCS输出与公共电网并联运行,电网主导电压和频率,PCS按设定的有功/无功功率注入电网。 ✅ 特点: 电网存在、电压频率稳定 PCS仅作为电源“从机”,不能主导电压…

Solr 初始环境搭建(Windows)

前言 Apache Solr 是一个开源的、基于 Java 的企业级搜索平台,构建在 Apache Lucene 之上,提供了强大的全文检索、分布式搜索、索引管理、高亮显示、分面搜索等功能。它被广泛应用于电子商务、内容管理系统(CMS)、数据分析和大规模…

系统架构设计的全方位视角:深入解析4+1视图模型及其应用实践

在当今复杂多变的软件开发环境中,如何全面把握系统架构,满足不同利益相关者的需求,是每位架构师面临的重大挑战。“41”视图模型作为一种经典的架构描述框架,为解决这一难题提供了系统化的方法论。本文将深入剖析这一模型的理论基…

vue.js 3: markmap using typescript

在项目目录文件下,通过cmd运行下述指令。 npm create vuelatest cd vue-projectnpm installnpm run format npm run dev或 npm init vuelatest cd vue-prjectnpm run build --打包项目创建项目没有node_modules npm init -y npm install vue-routernpm install mark…

聚宽量化——股票时间序列函数

import matplotlib.pyplot as plt import pandas as pd from mpl_finance import candlestick2_ochl import mplfinance as mpf from unittest import TestCaseclass TestPandasKline(TestCase):#读取股票数据,画出K线图def testKLineChart(self):file_name "…

(一)代码随想录 - 数组

代码随想录 一. 数组的理论基础 概念:数组是存放在连续内存空间上的相同类型数据的集合 特点:(1)数组可以通过下标进行访问对应的数据并且下标是从0开始的 -> 随机访问;(2)数组内存空间的地…

Netty内存池核心PoolArena源码解析

PoolArena 是 Netty 内存池化机制的核心组件之一,它负责管理一整块或多块内存(PoolChunk),并将这些内存分配给应用程序。每个 PoolArena 实例都与一个特定的线程相关联(通过 PoolThreadCache),或…

echarts-for-react 日历热力图渲染导致白屏 踩坑记录

先说结果,补上了一行tooltip.trigger后能正常渲染了。 报错情况: 在页面中添加了一个日历热力图后,一渲染它就白屏,控制台报错如下: echarts-for-react版本是当前最新的3.0.2,尝试debug但没看懂源码这里是…

SpringBoot项目启动时自动加载数据到Redis的完整实现方案,用于存储字典,定时任务,登录用户等

一、基础配置 ‌在pom.xml中添加必要依赖&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency><groupId>com.baomi…

python:使用 OpenAI CLIP 模型进行图像与文本的语义匹配,并用彩虹色带可视化 CLIP 模型的相似度矩阵

作者&#xff1a;CSDN _养乐多_ 本文将介绍如何使用 OpenAI 的 CLIP 模型来实现图像与文本之间的语义匹配。代码使用 Python 语言&#xff0c;加载多个图像与类别文本&#xff0c;并通过计算余弦相似度判断每张图片最匹配的文本标签。 结果如下图所示&#xff0c; 文章目录 …

微服务链路追踪在生产环境问题定位中的实战经验

微服务链路追踪在生产环境问题定位中的实战经验 在当今复杂的系统架构中&#xff0c;微服务之间相互调用形成的链路往往变得极其复杂。一旦出现问题&#xff0c;仅凭日志和监控信息常常难以迅速定位根因。链路追踪技术因此成为生产环境中不可或缺的工具&#xff0c;能够帮助我…

正点原子——直流无刷电机-霍尔传感基本实现流程

直流无刷电机-霍尔传感实现流程 初始化TIM以及IO 霍尔状态读取函数 uint32_t hallsersor(void) {uint32_t state 0;if(HAL_GPIO_ReadPin(HALL1_TIM_CH1_GPIO,HALL_TIM_CH1_PIN)!RESET){state |0x01;}if(HAL_GPIO_ReadPin(HALL1_TIM_CH2_GPIO,HALL_TIM_CH2_PIN)!RESET){stat…

小白的进阶之路系列之十七----人工智能从初步到精通pytorch综合运用的讲解第十部分

NLP 从零开始:使用字符级 RNN 生成姓名 这是我们“NLP 从零开始”系列三部分教程中的第二部分。在第一个教程中,我们使用了 RNN 将姓名分类到其语言来源。这次我们将反过来,从语言生成姓名。 > python sample.py Russian RUS Rovakov Uantov Shavakov> python sampl…

思辨场域丨AR技术如何重塑未来学术会议体验?

毫无疑问&#xff0c;增强现实&#xff08;AR&#xff09;已成为科技浪潮中最澎湃的浪花之一。当Pokemon Go点燃全球热情&#xff0c;我们首次大规模体验到数字精灵与现实街景的奇妙交融。这不仅是游戏革命&#xff0c;更是一个强烈的信号&#xff1a;虚实共生的交互时代已轰然…

医学数据分析实战:冠心病发病因素可视化

一、数据加载与基本信息检查 #例9.5 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings#引入第三方库plt.rcParams[font.sans-serif]=[SimHei] #用来正常显示中文标签 warnings.filterwarnings(ignore) #防止…

Proteus8.0 打开前期版本的操作方法

1.打开Proteus8.0 2. 打开菜单File->Import legacy Project 3.在Import Legacy Project 点击Browse按钮 4.选择要打开的例子目录 5.打开*.dsn文件 6.点击Import 7.导入成功 点击运行即可

【innovus基础】- 对某根线单独route

在某些特殊需求场景&#xff0c;我们可能需要对某些net进行单独的route&#xff0c;方法如下&#xff1a; 1、打开design browser&#xff0c;选择对应net&#xff1a;&#xff08;或者使用selectNet命令&#xff09; 2、Route → nano Route → 勾选selectNet only 可以看到…

【Linux】network网络配置

目录 1、介绍2、网络配置【1】查看【2】说明 3、工作流程【1】启动以太网接口【2】关闭接口时反向执行 4、现代替换方案 1、介绍 linux中network网络服务的核心配置位于/etc/sysconfig/network-scripts/目录下。它们共同构成了网络接口的管理框架&#xff0c;负责处理网络接口…