服务发现组件

简介: 各微服务启动的时候,将自己的网络信息注册到服务发现组件中,服务发现组件会储存这些信息。服务消费者可以通过服务发现组件中查询服务提供者的网络地址,并使用该网络地址调用服务。各微服务与服务发现组件通过心跳机制通信,服务发现组件如长时间无法与某个服务实例通信,服务发现组件会注销该实例。


服务发现要解决的一个问题是:


  • 解耦服务。

服务提供者、服务消费者、服务发现组件三者关系:


  • 各微服务启动的时候,将自己的网络信息注册到服务发现组件中,服务发现组件会储存这些信息。
  • 服务消费者可以通过服务发现组件中查询服务提供者的网络地址,并使用该网络地址调用服务。
  • 各微服务与服务发现组件通过心跳机制通信,服务发现组件如长时间无法与某个服务实例通信,服务发现组件会注销该实例。

在微服务架构中引入服务发现组件的好处:


  • 服务消费者不用硬编码服务提供者地址,即使服务提供者信息发生变化,服务消费者也无需修改配置文件。
  • 微服务网络地址发生变更(如,IP 、端口变化或增减实例)时,会重新注册到服务发现组件,无需人工修改服务提供者的 IP 或 端口。

服务发现组件应该具备的能力:


  • 服务注册表:用于记录各微服务的网络信息(名称、IP、Port),并提供查询API 和管理 API,用于服务的注册与注销。
  • 服务注册与服务发现:服务注册指服务启动的时候,将自己的信息注册到服务发现组件的过程。服务发现指查询可用服务列表及其网络地址的机制。
  • 服务检查:服务发现组件使用一定的机制定时检测已经注册的服务,如发现实例长时间无法访问,会从服务注册表中将其移除。

相关文章
|
消息中间件 存储 监控
五分钟快速了解Airflow工作流
简介 Airflow是一个以编程方式创作、调度和监控工作流的平台。 使用 Airflow 将工作流创作为有向无环图(DAG)任务。 Airflow 调度程序按照你指定的依赖项在一组workers上执行您的任务。同时,Airflow拥有丰富的命令行实用程序使得在DAG上进行复杂的诊断变得轻而易举。并且提供了丰富的用户界面使可视化生产中运行的工作流、监控进度和需要排查问题时变得非常容易。 当工作流被定义为代码时,它们变得更易于维护、可版本化、可测试和协作。
Dockerfile换源
Dockerfile换源
1182 0
|
9月前
|
机器学习/深度学习 并行计算 测试技术
每天五分钟深度学习:解决for循环效率慢的关键在于向量化
通过本文的介绍,希望读者能够理解向量化的基本概念、优势及其在实际应用中的重要性,并能够在日常的深度学习工作中灵活应用向量化技术,从而提升工作效率和代码性能。
382 13
|
Dubbo 应用服务中间件
错误:找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
本文主要讲解如何解决Zookeeper启动时出现错误:找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain 的解决方案
2833 0
错误:找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
|
机器学习/深度学习 Python
在Python中监听变量值的变化
在Python中监听变量值的变化
1122 2
|
10月前
|
缓存 监控 网络协议
深入解析微服务架构中的服务发现机制
深入解析微服务架构中的服务发现机制
180 1
|
10月前
|
人工智能 前端开发 API
一种基于通义千问prompt辅助+Qwen2.5-coder-32b+Bolt.new+v0+Cursor的无代码对话网站构建方法
本文介绍了当前大模型应用的趋势,从单纯追求参数量转向注重实际应用效果与效率,重点探讨了结合大模型的开发工具,如Bolt.new、v0、Cursor等,如何形成完整的AI工具链,助力开发者高效构建、优化和部署应用。通过实例演示了从项目创建、前端优化到后端代码改写的全过程,强调了提示词设计的重要性,并推荐了适用于不同场景的工具组合方案。
|
计算机视觉
【YOLOv10改进-损失函数】Shape-IoU:考虑边框形状与尺度的指标
YOLO目标检测专栏探讨了边框回归损失的创新方法,强调了目标形状和尺度对结果的影响。提出的新方法Shape-IoU关注边框自身属性,通过聚焦形状和尺度提高回归精度。实验显示,该方法提升了检测效果,超越现有技术,在多个任务中达到SOTA。论文和代码已公开。
|
Prometheus Kubernetes 监控
NVIDIA GPU Operator分析六:NVIDIA GPU Operator原理分析
背景我们知道,如果在Kubernetes中支持GPU设备调度,需要做如下的工作:节点上安装nvidia驱动节点上安装nvidia-docker集群部署gpu device plugin,用于为调度到该节点的pod分配GPU设备。除此之外,如果你需要监控集群GPU资源使用情况,你可能还需要安装DCCM exporter结合Prometheus输出GPU资源监控信息。要安装和管理这么多的组件,对于运维
3230 0