微服务中的服务发现是什么?

API 网关 Apache APISIX 集成 Eureka 作为服务发现 微服务架构中,大型复杂的系统按功能或者业务需求垂直切分成更小的子系统,这些子系统以独立部署的子进程存在,它们之间通过网络调用进行通信。这些独立部署的服务如何发现对方成为了首先要解决的问题,所以在微服务架构中往往都会存在一个中心化的注册中心。 Spring 作为 Java 生态中最核心的开发框架,从 Spring MVC 到 Spring Boot 持续不断解放着 Java 开发者的生产力,而 Spring Cloud 是 Spring 面向云原生时代微服务架构给出的答案。 在 Spring Cloud 中, 阅读详情

作者:罗泽轩
摘要:本文通过服务发现的相关背景和 APISIX 对于服务发现的应用与实践,来介绍微服务中的服务发现内容。

在互联网刚开始出现的年代,人们要想访问某个在线服务,需要输入一长串的 IP 地址。IP 地址虽然不长,但是作为一串无意义的数字,要求记住特定服务的特定地址还是很考验人的记忆力。所以后来人们就发明了域名系统。每个在线服务会到域名商注册一个域名,然后通过 DNS 建立域名和具体 IP 的联系。这样一来,人们只需要输入一个好记的域名,就能访问到具体 IP 上的在线服务。这就是最早的服务发现。

当一个公司内部的服务数到了一定的规模(比如在做了微服务拆分之后),也会遇到 IP 实在不好记的问题。这时候就需要有一套服务发现系统。公司里面各个服务在该系统上注册,然后想要访问这些服务的其他服务会从该系统上查询对应的 IP 地址,这样就不需要让某个服务“记住”复杂多变的 IP 地址了。
在这里插入图片描述

图1:IP 地址的变更,会让访问者无所适从
在这里插入图片描述

图2:通过引入域名系统作为服务发现机制,现在可以灵活对待 IP 的变更了

常见服务发现系统介绍

作为一个服务发现系统,它需要满足至少四个功能:

  1. 提供注册的 API。
  2. 提供查询的 API。
  3. 高可用。毕竟服务发现系统是整个系统的神经,不能麻痹甚至瘫痪。
APISIX源码解析-服务发现-discover【kubernetes】 摘要 当业务量发生变化时,需要对上游服务进行扩缩容,或者因服务器硬件故障需要更换服务器。如果网关是通过配置来维护上游服务信息,在微服务架构模式下,其带来的维护成本可想而知。再者因不能及时更新这些信息,也会对业务带来一定的影响,还有人为误操作带来的影响也不可忽视,所以网关非常必要通过服务注册中心动态获取最新的服务实例信息。架构图如下所示: 服务启动时将自身的一些信息,比如服务名、IP、端口等信息上报到注册中心;各个服务与注册中心使用一定机制(例如心跳)通信,如果注册中心与服务长时间无法通信,就会注销该实例; 阅读详情

相关推荐

STC89C52RC单片机原理图详解

左侧A0和右侧B0为一 一对应的关系,左上角DIR为控制数据方向端口,如果DIR接高电平是将左侧数据A0~A8送到右侧B0~B8,如果DIR接低电平,是将右侧数据B0~B8送到左侧A0~A8,由于在电路板上LE始终与VCC连接,因此这里。74HC595是串行输入,并行输出的移位寄存器,可用3根线输入串行数据,8根线输出并行数据,多片级联后,可输出16位、24位、32位等,常用于I/O口扩展。由于数码管为共阴极,给数码管下面接口输入阳码时,LED才亮,但是直接将P0~P7的高电平输入到数码管时,

m0_50562428的博客 6万+

微服务网关——服务发现

Apache ZooKeeper 是一个用于分布式系统中的协调服务。它提供了一套高效、可靠的分布式协调工具,用于实现服务注册、配置管理、同步、领导者选举等功能。Zookeeper 的设计初衷是简化分布式应用中的协调任务,从而使应用开发更容易。是一个分布式数据库(程序协调服务),Hadoop子项目树状方式维护节点方数据的增、删、改、查监听通知机制:通过监听可以获取相应消息事件(内容,子节点)

qq_45467608的博客 3069

微服务架构中的服务发现机制

微服务架构在云计算领域有着广泛的应用。随着容器技术的普及,微服务也逐渐走向成熟。服务发现机制微服务架构的基础。本文将详细阐述微服务架构中的服务发现机制,并给出相应的代码实现和解释。服务发现机制(Service Discovery)是微服务架构中一个重要组成部分。通过服务发现机制,可以使各个微服务之间能够相互发现和通信。借助于服务发现机制微服务不需要知道彼此的位置信息,只需要知道服务名或其他相关信息就可以完成调用。微服务架构中各个微服务之间的通信依赖于服务发现机制

AI天才研究院 1189

微服务服务发现

服务发现 为何使用服务发现 我们假设您正在编写某些代码,这些代码调用了有 REST API 或 Thrift API 的服务。为了发送一个请求,您的代码需要知道服务实例的网络位置( IP 地址与端口)。在运行于物理硬件上的传统应用中,服务实例的网络位置是相对静态的。例如,您的代码可以从偶尔更新的配置文件中读取网络位置。 然而,在现代基于云的微服务应用中,这是一个更难解决的问题,如图 4-1 所示。 服务实例具有动态分配的网络位置。此外,由于自动扩缩、故障与升级,整组服务实例会动态变更。因此,您的客户

张晨光老师的播客 1512

微服务中的服务发现

文章主要介绍了服务发现的概念,以及在kitex框架、k8s中,微服务中的服务发现方法。

weixin_60214397的博客 1105

如何实现微服务架构中的服务发现

转载出处:​如何实现微服务架构中的服务发现?  原文地址:Service Discovery in a Microservices Architecture 编者按:在『应用架构一团糟?如何将单体应用改造为微服务』一文中,介绍了如何逐步地将单体应用改造为一系列的微服务。本文是系列文章的第四篇,将为大家讲述如何在微服务架构实现服务发现。作者首先介绍了服务发现的两种实现模式,接下来介绍了服务发

uxff的专栏 6355

微服务架构 服务发现_微服务架构中的服务发现

微服务架构 服务发现 许多年前,与朋友失去联系的最简单方法是在不通知您的情况下更改您的电话号码。 同样适用于微服务架构系统中的服务。 两个服务可能会彼此愉快地交谈,直到其中一个移到另一个IP地址。 什么是服务发现 服务发现是关于找到服务提供商的网络位置。 我们为什么需要它 如果团队维护物理服务器,则配置文件将最能满足需要。 但是,如果使用的是云,由于重新启动,失败和扩展,...

编程故事的地方 201

微服务中的服务发现机制” 简介

本文介绍了微服务中的服务发现机制。在微服务架构中,服务发现机制通过注册中心实现了服务实例的动态注册和查询功能,降低了服务间的耦合度并提高了系统的可扩展性和灵活性。

青灯文案的博客 1607

微服务架构中的服务发现

许多年前,与朋友失去联系的最简单方法是在不通知您的情况下更改您的电话号码。 同样适用于微服务架构系统中的服务。 两个服务可能会彼此愉快地交谈,直到其中一个移到另一个IP地址。 什么是服务发现 服务发现是关于找到服务提供商的网络位置。 我们为什么需要它 如果团队维护物理服务器,则配置文件将最能满足需要。 但是,如果使用的是云,由于重新启动,故障和扩展,您的服务可能具有动态网络位置。 手...

编程故事的地方 496

【SpringCloud】深入探究Eureka:构建微服务架构中的高效服务发现系统

Eureka是Netflix开源的一款用于构建弹性、高可用的服务发现系统的工具。在微服务架构中,服务数量庞大,每个服务可能会有多个实例。这时,需要一种机制来让服务能够自动地找到其他服务,以便进行通信。这就是服务发现的任务,而Eureka便是为此而生。Eureka服务器和Eureka客户端。Eureka服务器负责维护所有服务的注册信息,而Eureka客户端则负责向Eureka服务器注册自己,并从服务器获取其他服务的信息,以便进行通信。

唯有努力,方可自信! 1万+

微服务服务发现

数据一致性:Eureka采用的是弱一致性模型,即服务注册的信息会被延迟一段时间才会在整个集群中得到同步,因此可能会出现服务信息不同步的情况。功能和扩展性:Nacos和etcd提供了更为丰富的服务治理功能,如流量管理、配置管理和动态DNS等,具有更好的扩展性和灵活性。eureka、nacos、Consul、etcd 和 zk 都是主流的服务发现工具,而 Dubbo 和 Polaris Mesh 则是基于服务发现的 RPC 框架。Dubbo 是阿里巴巴开源的高性能 RPC 框架,支持负载均衡、服务治理等功能;

weixin_42248522的博客 1047

微服务微服务发现详解:构建高效分布式系统的关键

微服务发现是指在动态环境中,服务实例的自动注册和发现过程。它解决了服务如何找到彼此的问题,特别是在服务数量众多或服务频繁变化的情况下。随着微服务架构的普及,服务发现变得越来越重要,成为分布式系统中不可或缺的组成部分。微服务发现是实现微服务架构灵活性和可维护性的关键,通过合理选择服务发现的方式和工具,可以有效提升系统的可用性和扩展性。在实际应用中,开发团队应根据业务需求和技术栈选择最合适的解决方案。

人生苦短,睡觉要紧,睡醒再说 1851

微服务-服务发现

微服务简述

qq_45694707的博客 316

微服务服务发现机制

1. 为什么要服务发现 当我们需要远程访问REST API或者Thrift API时,我们必须得知道服务的网络地址(IP Address和port)。 传统的应用程序都是运行在固定的物理机器上,IP Address和端口号都是相对固定的。可以通过配置文件方式来实现不定期更新的Ip Address和端口号。 在基于云的微服务应用中,服务实例的网络地址(IP Address和Port)是动态分配...

L13763338360的博客 536

什么是微服务服务发现

微服务中的服务发现是为了让各个服务之间能够动态地找到彼此并进行通信。它通过服务注册中心来注册服务和发现服务,确保服务间通信的灵活性和可扩展性。服务发现微服务架构的核心组成部分之一,能够实现系统的高可用性、动态性和负载均衡。

weixin_46072507的博客 994

【华为云专家原创】 服务注册与发现如何满足服务治理?

教授提出,分别指 Consistency (一致性)、Availablity (可用性)、Partition tolerance (分区容忍性)。Eric Brewer 认为,以上三个指标最多同时满足两个。 Consistency,指数据一致性,表示一个系统的数据信息(包括备份数据)在同一时刻都是一致的。在分布式系统下,同一份数据可能存在于多个不同的实例中,在数据强一致性的要求下,对其中一份数据的修改必须同步到它的所有备份中。在数据同步的任何时候,都需要保证所有对该份数据的请求将返回同样的状态。 Ava

华为云官方博客 3874

微服务架构之服务发现

文章目录服务发现常见的服务发现框架Eureka实战与原理搭建Eureka注册中心集群Eureka 源码分析 服务发现 在传统的系统部署中,服务运行在一个固定的已知的 IP 和端口上,如果一个服务需要调用另外一个服务,可以通过地址直接调用。但是,在虚拟化或容器化的环境中,服务实例的启动和销毁是很频繁的,服务地址在动态的变化,如下图所示: 在基于云的微服务应用中,服务实例的网络地址(IP Addre...

qq_24095055的博客 2261

π0.5部署实战(一) ------ 在Thor上使用NVFP4量化

此篇文章是pi05模型在thor上部署系列文章的第一篇.主要介绍如何对pi05 2.6B LLM(Gemma)使用nvfp4进行量化.所有操作使用开源工具可以先参考进行环境的准备和安装,在上完成以下操作.

happyAnger6的专栏 323

谷歌浏览器驱动chromedriver104.0.5112.20版本_mac64_m1.zip

谷歌浏览器驱动chromedriver104.0.5112.20版本_mac64_m1.zip

上一篇: 基金交易场景下,如何利用 Apache APISIX 来稳固 API 安全
下一篇: 最新出炉!开源 API 网关的性能对比:APISIX 3.0 和 Kong 3.0
API7.ai 技术团队
博客等级 码龄5年 165粉丝 178原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

API7.ai 技术团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值