首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java架构师历程

    4、服务发现

    有两种主要的服务发现模式:客户端发现(client-side discovery)与服务发现(server-side discovery)。让我们先来看看客户端发现。 该模式的一个重要缺点是它将客户端与服务注册中心耦合在一起。您必须为服务客户端使用的每种编程语言和框架实现客户端服务发现逻辑。 现在我们已经了解了客户端发现,接下来让我们看看服务发现。 4.3、服务发现模式 服务发现的另一种方式是服务发现模式。图 4-3 展示了该模式的结构: ? 客户端通过负载均衡器向服务发出请求。负载均衡器查询服务注册中心并将每个请求路由到可用的服务实例。 Consul 一个发现与配置服务工具。它提供了一个 API,可用于客户端注册与发现服务。Consul 可对服务进行健康检查,以确定服务的可用性。 系统组件使用查询 API 来发现可用的服务实例。 有两种主要的服务发现模式:客户端发现服务发现。在使用了客户端服务发现的系统中,客户端查询服务注册中心,选择一个可用实例并发出请求。

    2.6K30发布于 2018-09-26
  • 来自专栏AI.NET极客圈

    Kubernetes 服务发现

    目录 什么是服务发现? 环境变量 DNS 服务 Linux 中 DNS 查询原理 Kubernetes 中 DNS 查询原理 调试 DNS 服务 存根域及上游 DNS 什么是服务发现服务发现的关键在于服务元数据(metadata)的存储,包括服务名、服务 IP、服务端口等信息。 Kubernetes 支持两种服务发现方式,环境变量和 DNS。 kubectl exec -ti <pod-name> env --namespace=<my-namespace> 此种方式的服务发现缺点很明显: 先前的服务必须先运行起来,否则 Pod 无法发现; 如依赖的服务宕机或绑定新地址,Pod 无法发现,仍然持有旧的地址。 幸好,我们还有另一种服务发现机制。 DNS 服务 在讲述 Kubernetes 中使用 DNS 进行服务发现之前,我们不得不先了解下 Linux 中是如何进行 DNS 查询的。

    2.1K20发布于 2019-08-20
  • 来自专栏SRE运维实践

    服务发现--prometheus

    服务发现,好像用zk的比较多,不要问我为什么不用etcd,就是这么任性,就想用consul。 使用consul进行服务发现 1、运行consul容器 ? 服务注册,服务发现。。。傻傻分不清楚。 风言风语 推荐一首歌,感觉一般般。。。 这个城市风很大。。。看了没用,没用也看。。。 脑子漏风 配置中心与服务中心,配置中心主要是用来存储配置的,而服务中心,则主要是提供服务注册和服务发现的功能,所谓的ESB。。。企业级SB,呵呵哒。。。 配置中心用来存储所有实例的配置,在进行服务重启或者服务重建的时候,只要拉取相关的配置就OK了。 而服务中心,主要是用来进行解耦,其实无论是分层,还是拆分组件,模块,都是为了解耦。 站在应用的角度来说,又可以分为web服务,存储,大数据等,就看怎么去定义指标。

    83030发布于 2019-07-08
  • 来自专栏sktj

    Prometheus:服务发现

    1、基于文件的服务发现 ? image.png 2、基于API的服务发现 EC2的服务发现 ? ? ? 3、基于DNS的服务发现 ? 基于A记录 ?

    76820发布于 2020-01-15
  • 来自专栏sktj

    Etcd 服务发现

    定制 etcd 发现服务 发现使用已有集群来启动自身。 //myetcd.local/v2/keys/discovery/6c007a14875d53d9bf0ef5a6fc0257c817f0fb83 这将导致每个成员使用定制的 etcd 发现服务注册自身并开始集群 公共 etcd 发现服务 如果没有现成的集群可用,可以使用托管在 discovery.etcd.io 的公共发现服务。 discovery https://discovery.etcd.io/3e86b59982e49066c5d813af1c2e2579cbf573de 这将导致每个成员使用定制的 etcd 发现服务注册自身并开始集群 使用环境变量 ETCD_DISCOVERY_PROXY 来让 etcd 使用 HTTP 代理来连接到发现服务

    87320发布于 2019-10-29
  • 来自专栏java学习java

    服务发现@EnableDiscoveryClient

    @SpringBootApplication @EnableEurekaClient @EnableDiscoveryClient //服务发现 public class PaymentMain8001

    92330编辑于 2022-11-13
  • 来自专栏生如夏花的个人博客

    服务系列(一)-服务发现

    服务发现 什么是服务发现 在微服务架构中,整个系统会按职责能力划分为多个服务,通过服务之间协作来实现业务目标。 服务发现就是服务消费方通过服务发现中心智能发现服务提供方,从而进行远程调用的过程。 如下图: ? 上图中服务实例本身并不记录服务生产方的网络地址,所有服务实例内部都会包含服务发现客户端。 (1)在每个服务启动时会向服务发现中心上报自己的网络位置。这样,在服务发现中心内部会形成一个服务注册 表,服务注册表是服务发现的核心部分,是包含所有服务实例的网络地址的数据库。 (2)服务发现客户端会定期从服务发现中心同步服务注册表 ,并缓存在客户端。 (3)当需要对某服务进行请求时,服务实例通过该注册表,定位目标服务网络地址。 各服务实例会上报自己的网络地址,这样服务中心就形成了一个完整的服务注册表,各服务实例会通过服务发现中 心来获取访问目标服务的网络地址,从而实现服务发现的机制。

    53710发布于 2021-01-06
  • 来自专栏民工哥技术之路

    Kubernetes 之服务发现

    Kubernetes 中为了实现服务实例间的负载均衡和不同服务间的服务发现,创造了 Service 对象,同时又为从集群外部访问集群创建了 Ingress 对象。 ? 就之前学习的知识,我们都是部署单独的服务,并没有应用实际的示例。 ,可以查到对应的防火墙规则和默认的 SVC 服务。 ,可以查到对应的防火墙规则和默认的 SVC 服务。 相反的,对于运行在集群外部的服务,它通过返回该外部服务的别名这种方式来提供服务

    70440发布于 2021-04-21
  • 来自专栏linux技术

    prometheus (三) 服务发现

    简介# 手动添加 job 配置未免过于繁琐, prometheus 支持很多种方式的服务发现, 在 k8s 中是通过 kubernetes_sd_config 配置实现的. 配置, prometheus-operator 抽象了出了两种 CRD 资源: serviceMonitor: 创建 endpoints 级别的服务发现 podMonitor: 创建 pod 级别的服务发现 通过对这两种 CRD 资源的管理实现 prometheus 动态的服务发现. 1.1 kubernetes_sd_config# https://prometheus.io/docs/prometheus kubernetes_sd_config kubernetes_sd_config 目前支持 node service pod endpoints endpointslice ingress 6 种服务发现级别 如果该 endpoints 是由 service 创建的, 那么所有 service 发现模式的标签也会被附加上 如果该 endpoints 的后端是 pod 提供服务, 那么所有 pod 发现模式的标签也会被附加上

    1.4K30编辑于 2023-05-02
  • 来自专栏SRE运维实践

    服务注册发现-consul

    风言风语 在微服务的世界中,各种各样的restful api,今天我要升级,明天我要变更,大大小小的服务几百个,从而就有了服务中心,自动服务发现了解一下。。。 服务中心主要用来解决系统之间的强耦合关系,而且系统之间的调用基本上是同步调用的。 所谓的自动服务发现,只不过是不需要修改配置,就发现服务,调用了服务。。。 在服务中心中,分为两种: 一种是名称总线系统,也就是A系统需要调用某个服务的时候,只要请求服务中心即可,服务中心会自己去调用远程的服务然后得到响应,最后由服务中心响应给A系统。 服务发现,你在使用服务的时候,其实你也在提供服务。。。这种调用的方式,像不像LVS的几种调度方法。。。 4、 界面查看注册了服务,并且能进行健康检查 ? 用脚指头思考 在不知道何为服务发现的时候,苦苦思索,为什么要服务发现发现服务是为了干啥,概念上的玩法。。。存在是为了解决什么?

    75260发布于 2019-07-08
  • 来自专栏【云原生 • Prometheus】

    prometheus 服务发现原理

    服务发现 概述 如上图,Prometheus核心功能包括服务发现、数据采集和数据存储。 服务发现模块专门负责发现需要监控的目标采集点(target)信息,数据采集模块从服务发现模块订阅该信息,获取到target信息后,其中就包含协议(scheme)、主机地址:端口(instance)、请求路径 为什么需要服务发现模块? 类似于微服务通过引入注册中心组件解决众多微服务间错综复杂的依赖调用。 服务发现核心原理 说明: Prometheus服务发现核心逻辑的入口主要关注Manager结构体的ApplyConfig方法:基于服务发现的配置使其生效; ApplyConfig方法包括四个主要步骤: ❞ 取消服务发现:配置变更也会调用ApplyConfig方法,这时就要把基于之前配置运行的服务发现服务取消,然后基于当前配置重新生成; 清空:主要清空discoverCancel、targets和providers

    83931编辑于 2023-03-22
  • 来自专栏CNCF

    为人员服务发现注释Kubernetes服务

    随着 Kubernetes 应用程序的增长,其中一个问题是服务的扩散。随着服务数量的增长,开发人员开始专门处理特定的服务。 然而,当涉及故障排除时,开发人员需要能够找到源,了解服务和依赖关系,并与拥有任何服务的团队交谈。 人员服务发现 故障排除总是从信息收集开始。 在集中机器数据(如日志、指标)的同时,对服务发现的人员方面的关注却少得多。谁拥有一个特定的服务?团队在哪个 Slack 频道工作?服务的源在哪里?目前已知并正在跟踪的问题是什么? 请注意,不应将这些服务目录与Kubernetes 服务目录项目[3]混淆。 现在就注释你的服务,以后感谢你自己 就像在微服务系统中实现可观察性一样,当你意识到需要人员服务发现时,往往为时已晚。

    50010发布于 2021-05-07
  • 来自专栏Java实战博客

    Eureka 注册中心 & 服务注册 & 服务发现

    Eureka实际运行机制 如果我们要启动登陆服务3个。 我们每个登陆服务都会向eureka发送注册信息 Eureka-Server就会记录这些ip、端口信息。 如果有请求登陆服务,就会随机从3个健康的登陆服务抽取一个进行处理登陆业务。 服务发现如何体现呢? 到从Eureka的注册与发现就完成了! 但是Eureka只有服务注册与发现,实现的负载均衡就是的Ribbon(你可以点击一下@Loadbalance注解看一下):https://www.zanglikun.com/13046.html 特殊说明

    2.3K10编辑于 2022-08-24
  • 来自专栏生如夏花的个人博客

    服务系列(四):服务发现模型

    服务发现数据模型 Namespace隔离设计 命名空间(Namespace)用于进行租户粒度的隔离,Namespace 的常用场景之一是不同环境的隔离,例如开发测试 环境和生产环境的资源(如配置、服务) 数据模型 Nacos在经过阿里内部多年生产经验后提炼出的数据模型,则是一种服务-集群-实例的三层模型,这样基本可以满 足服务在所有场景下的数据存储和管理。在这里插入图片描述 ? 服务 对外提供的软件功能,通过网络访问预定义的接口。 实例 提供一个或多个服务的具有可访问网络地址(IP:Port)的进程,启动一个服务,就产生了一个服务实例。 元信息 Nacos数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标 签 (label),从作用范围来看,分为服务级别的元信息、集群的元信息及实例的元信息。 集群 服务实例的集合,服务实例组成一个默认集群, 集群可以被进一步按需求划分,划分的单位可以是虚拟集群,相同 集群下的实例才能相互感知。

    62910发布于 2021-01-06
  • 来自专栏生如夏花的个人博客

    服务系列(三):Dubbo服务发现

    Dubbo服务发现 Dubbo是阿里巴巴公司开源的RPC框架,在国内有着非常大的用户群体,但是其微服务开发组件相对Spring Cloud 来说并不那么完善。 Spring Cloud Alibaba微服务开发框架集成了Dubbo,可实现微服务对外暴露Dubbo协议的接口,Dubbo协议相 比RESTful协议速度更快。 1,提供业务逻辑处理服务 5、service-2:微服务2,提供业务逻辑处理服务 交互流程: 1、网关负责客户端请求的统一入口,路由转发,前端通过网关请求后端服务。 3、应用接收前端请求,调用微服务进行业务逻辑处理 4、微服务为应用提供业务逻辑处理的支撑,为应用提供Dubbo协议接口 优势分析: 此架构同时提供RESTful和Dubbo接口服务,应用层对前端提供 本架构采用阿里开源的Nacos,集服务发现和配置中心于一身,支持RESTful及Dubbo服务的注册。

    82210发布于 2021-01-07
  • 来自专栏IMWeb前端团队

    服务架构的服务发现机制

    在这样的前提下,每个独立微服务的实例数量以及其位置都是动态变化的。所以服务发现机制在一套分布式微服务系统架构中显得尤为重要。 常用的服务发现机制分为两种:客户端服务发现服务服务发现。 无论使用客户端服务发现或者服务服务发现都需要拥有一个服务注册中心,客户端对微服务的"位置"的获取就是通过与服务注册中心。 服务服务发现相对于客户端服务发现最大的不同是:其将客户端的与服务发现相关的逻辑搬离到了负载均衡层来做。客户端所有的请求只会通过负载均衡模块,其并不需要知会微服务实例在哪里,地址是多少。 服务服务发现主要的优势是在这种设计模式下,服务发现的相关逻辑和细节可以从客户端完全抽离出来,客户端只需要向负载均衡模块发送请求,不需要为服务客户端使用的每一种语言和框架来实现相关逻辑。 服务服务发现的主要缺点是在这种模式下,相对于客户端服务发现,它需要另一个高可用、高性能的系统组件。 API网关Kong就是与服务服务发现机制相呼应的。

    1.2K10发布于 2019-12-03
  • 来自专栏IT技术精选文摘

    服务架构中的服务发现

    服务实例具有动态分配的网络位置。此外,由于自动缩放,故障和升级,服务实例集合会动态更改。因此,您的客户端代码需要使用更精细的服务发现机制。 有两种主要的服务发现模式:客户端发现服务器端发现。 我们来看看客户端发现。 客户端发现模式 当使用客户端发现时,客户端负责确定可用服务实例的网络位置和负载均衡请求。客户端查询服务注册表,它是可用服务实例的数据库。 现在我们已经看过了客户端发现,那我们再来看看服务器端的发现 服务器端发现模式 服务发现的另一种方法是服务器端发现模式。下图显示了此模式的结构。 ? 客户端通过负载均衡器向服务器发出请求。 服务器端发现模式有几个好处和缺点。这种模式的一个很大的好处是发现的细节从客户端抽象出来。客户端只需向负载均衡器发出请求。这消除了为服务客户端使用的每个编程语言和框架实现发现逻辑的必要性。 有两种主要的服务发现模式:客户端发现服务发现。在使用客户端服务发现的系统中,客户端查询服务注册表,选择可用实例并发出请求。

    2.8K80发布于 2018-01-30
  • 来自专栏架构进阶

    服务注册中心:Consul——服务发现

    系列文章: 微服务注册中心:Consul——概念与基础操作 微服务注册中心:Consul——服务注册 公众号:程序员架构进阶 一 概述 说完了Consul的服务注册,那么就该到服务发现了。 服务注册,是服务提供方把自己的信息(ip、端口、方法、参数&返回值信息)注册到一个中心;服务发现就是服务使用方,从中心获取到可用的服务提供方信息,并像本地方法调用一样调用其方法(远程方法),这也就是RPC 三 Consul服务发现 3.1 Consul已注册服务查看 大概了解了Consul的架构,接下来回到本篇的主题,我们先搞清楚怎样获取到已注册的服务,来供调用。 3.2.2 依赖配置 主要是spring-cloud,spring boot,以及spring-cloud-starter-consul-discovery,用于做consul的服务发现。 四 小结 至此,我们从本地安装启动Consul,到服务注册和发现,可以简单的使用起来了,但还是非常简单的应用,并未深入到原理和架构,后面的文章中,将会对其原理进行分析,敬请期待。

    2.3K00发布于 2021-05-29
  • 来自专栏芋道源码1024

    何为微服务、网关、服务发现注册?

    3.3 微服务网关的功能 3.4 微服务网关开源应用 4.微服务服务注册和发现 4.1 为什么需要服务注册? 4.2 服务注册原理 4.3 开源的服务注册发现框架 5.微服务配置中心 5.1 什么是配置中心? 5.2 为什么需要配置中心? 、服务注册/发现、配置管理都是关键点 1. 在大型架构中,这种模式用的还比较多,原理就是在网关加上了网关服务注册和发现的逻辑。 服务注册和发现、分布式配置中心的内容 微服务要探索的内容还有:服务框架、服务监控、服务治理、服务熔断、服务降级等等 ---- ---- 欢迎加入我的知识星球,一起探讨架构,交流源码。

    1.5K20编辑于 2022-03-04
  • 来自专栏生如夏花的个人博客

    服务系列(二)-nacos服务发现

    Nacos服务发现 Nacos简介 服务发现产品对比 目前市面上用的比较多的服务发现中心有:Nacos、Eureka、Consul和Zookeeper。 官方是这样说的: Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您实现动态服务 发现服务配置管理、服务及流量管理。 官方地址 Nacos特性 Nacos主要提供以下四大功能: 1.服务发现服务健康检查 Nacos使服务更容易注册,并通过DNS或HTTP接口发现其他服务,Nacos还提供服务的实时健康检查,以防 3.动态DNS服务 Nacos提供基于DNS 协议的服务发现能力,旨在支持异构语言的服务发现,支持将注册在Nacos上的服务以 域名的方式暴露端点,让三方应用方便的查阅及发现。 4. 测试环境 通过Spring Cloud Alibaba实现解决: 1、服务发现客户端从服务发现中心获取服务列表 2、服务消费方通过负载均衡获取服务地址 在nacos-discovery父工程中添加依赖管理

    1.5K10发布于 2021-01-07
领券