服务发现组件

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


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


  • 解耦服务。

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


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

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


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

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


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

相关文章
|
5天前
|
缓存 算法 Apache
微服务架构下的服务发现与注册机制
【5月更文挑战第18天】 随着现代软件系统向着分布式和微服务架构演进,服务发现与注册成为确保系统弹性和可伸缩性的关键因素。本文将探讨在微服务环境下实现服务发现与注册的模式,分析其必要性,并深入讨论常见的解决方案以及面临的挑战。文中不仅介绍了服务发现的基本原理和流程,还对流行的服务发现工具如Consul、Etcd和Zookeeper进行了比较,最后提出了一套优化策略以增强系统的鲁棒性和性能。
|
8天前
|
负载均衡 网络协议 数据管理
深入解析Nacos:服务发现、配置管理与更多特性解析
深入解析Nacos:服务发现、配置管理与更多特性解析
191 0
|
8天前
|
负载均衡 Java Nacos
Nacos作为一个服务发现与配置管理工具,它本身不直接依赖于`ribbon-loadbalancer`包
Nacos作为一个服务发现与配置管理工具,它本身不直接依赖于`ribbon-loadbalancer`包【1月更文挑战第18天】【1月更文挑战第89篇】
40 4
|
8天前
|
负载均衡 网络协议 API
微服务之服务发现
微服务之服务发现
91 0
|
10月前
|
缓存 SpringCloudAlibaba 负载均衡
springCloudAlibaba组件-Nacos-服务发现与负载均衡(三)
springCloudAlibaba组件-Nacos-服务发现与负载均衡(三)
|
10月前
|
缓存 运维 负载均衡
1. 微服务架构上篇:4. 基于etcd的服务发现与注册
1. 微服务架构上篇:4. 基于etcd的服务发现与注册
|
存储 负载均衡 监控
何为微服务、网关、服务发现/注册?
随着互联网业务复杂性慢慢提高,单机服务的架构慢慢出现了生产效率问题 微服务架构带来的有优点也有缺点,使用前需要调研清楚 微服务架构的网关设计、服务注册/发现、配置管理都是关键点
何为微服务、网关、服务发现/注册?
|
存储 负载均衡 网络协议
Envoy架构概览(3):服务发现
Envoy架构概览(3):服务发现
|
Kubernetes 负载均衡 网络协议
K8s如何实现服务发现与配置管理
K8s在实现负载均衡与配置管理上的原理是咋样的呢?
|
负载均衡 网络协议 算法
什么是服务发现 | 学习笔记
快速学习什么是服务发现。
148 0
什么是服务发现 | 学习笔记