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

    Envoy架构概览(3):服务发现

    服务发现 在配置中定义上游群集时,Envoy需要知道如何解析群集的成员。这被称为服务发现。 支持的服务发现类型 静态的 静态是最简单的服务发现类型。 此服务发现类型适用于必须通过DNS访问的大型Web服务。这种服务通常使用循环法的DNS来返回许多不同的IP地址。通常会为每个查询返回不同的结果。 原始目标服务发现必须与原始目标负载均衡器一起使用。 服务发现服务(SDS) 服务发现服务是Envoy用来获取集群成员的通用REST API。 Lyft通过Python发现服务提供了一个参考实现。 对于每个SDS群集,Envoy将定期从发现服务中获取群集成员。 通常,主动健康检查与最终一致的服务发现服务数据结合使用,以进行负载平衡和路由决策。这将在下一节进一步讨论。 最终一致的服务发现 许多现有的RPC系统将服务发现视为完全一致的过程。

    1.8K50发布于 2018-04-09
  • 来自专栏凯哥Java

    【eureka教程】3:eureka服务发现

    eureka服务发现:在order-server完成对user-server服务的拉取 服务拉取是基于服务名获取服务列表,然后在对服务列表做负载均衡的 步骤: 1:修改OrderServer服务的代码, 修改访问的url路径,使用服务名称代替ip.端口: 2:在order-server项目的启动类OrderApplication中的RestTemplate添加负载均衡注解 访问测试:

    39210编辑于 2022-12-16
  • 来自专栏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.2K20发布于 2019-08-20
  • 来自专栏SRE运维实践

    服务发现--prometheus

    服务发现,好像用zk的比较多,不要问我为什么不用etcd,就是这么任性,就想用consul。 使用consul进行服务发现 1、运行consul容器 ? 2、 提交一个监控的服务 ? 3、 查看提交结果 ? 4、 配置prometheus(配置文件中添加consul的地址) ? 5、 查看prometheus的target页面 ? 服务注册,服务发现。。。傻傻分不清楚。 风言风语 推荐一首歌,感觉一般般。。。 这个城市风很大。。。看了没用,没用也看。。。 脑子漏风 配置中心与服务中心,配置中心主要是用来存储配置的,而服务中心,则主要是提供服务注册和服务发现的功能,所谓的ESB。。。企业级SB,呵呵哒。。。 配置中心用来存储所有实例的配置,在进行服务重启或者服务重建的时候,只要拉取相关的配置就OK了。 而服务中心,主要是用来进行解耦,其实无论是分层,还是拆分组件,模块,都是为了解耦。

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

    Prometheus:服务发现

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

    77120发布于 2020-01-15
  • 来自专栏瓜农老梁

    Nacos3# 服务注册与发现服务端启动源码解析

    message Metadata { // 注解@4 string type = 3; string clientIp = 8; map<string, string> headers = grpc通信,暴露的服务为requestBiStream,类型为:双向流式RPC,接受批量Payload类型数据,返回批量Payload类型数据 小结: 我们从.proto的描述中能够发现,nacos @1 RequestStream#requestStream用于服务端到客户端流式RPC;@2 Request#request用于简单RPC调用;@3 BiRequestStream#requestBiStream 注解@12 注册发现server启动(grpc) 小结: server启动过程中主要干了三件事 @1定义了拦截器获取客户端的ip、port、connectId等;@2装配了.proto定义的两种调用方式 ,简单调用方式Request#request和双向流调用方式BiRequestStream#biRequestStream;@3设置了服务启动端口、线程、接受消息的限制、压缩/解压缩类型。

    1.2K20发布于 2021-07-14
  • 来自专栏sktj

    Etcd 服务发现

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

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

    服务发现@EnableDiscoveryClient

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

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

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

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

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

    Kubernetes 之服务发现

    Kubernetes 中为了实现服务实例间的负载均衡和不同服务间的服务发现,创造了 Service 对象,同时又为从集群外部访问集群创建了 Ingress 对象。 ? apiVersion: apps/v1 kind: Deployment metadata: name: myapp-deploy namespace: default spec: replicas: 3 NODE NOMINATED NODE READINESS GATES coredns-12xxcxc5a-4129z 1/1 Running 3 TCP 125d my-service-1 ExternalName <none> hub.escapelife.site <none> 3m default.svc.cluster.local. 30 IN CNAME hub.escapelife.site 作者: Escape 链接: https://www.escapelife.site/posts/3a33affe.html

    71040发布于 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,今天我要升级,明天我要变更,大大小小的服务几百个,从而就有了服务中心,自动服务发现了解一下。。。 服务中心主要用来解决系统之间的强耦合关系,而且系统之间的调用基本上是同步调用的。 所谓的自动服务发现,只不过是不需要修改配置,就发现服务,调用了服务。。。 服务发现,你在使用服务的时候,其实你也在提供服务。。。这种调用的方式,像不像LVS的几种调度方法。。。 3、 注册服务(注册了一个服务python,其中有两个服务器提供服务,在后面根据服务的名称获取到服务提供者的ip和端口,在进行调度的时候,可以在提供的SDK中提供相关的调度算法,从而客户端只需要配置sdk 4、 界面查看注册了服务,并且能进行健康检查 ? 用脚指头思考 在不知道何为服务发现的时候,苦苦思索,为什么要服务发现发现服务是为了干啥,概念上的玩法。。。存在是为了解决什么?

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

    prometheus 服务发现原理

    服务发现 概述 如上图,Prometheus核心功能包括服务发现、数据采集和数据存储。 为什么需要服务发现模块? 类似于微服务通过引入注册中心组件解决众多微服务间错综复杂的依赖调用。 ServiceDiscoveryConfigs字段: 3、discovery.Configs对应的是Config切片: type Configs []Config 所以,一个job抓取任务下可以配置多个服务发现协议 ,就只会生成一个provider,然后subs存放job列表; 3、config:服务发现配置 启动Discoverer接口Run方法,让服务发现逻辑运行; 协程中运行updater方法; Discoverer 协程交互指标」 服务发现主要涉及3类协程: Discoverer协程(多个):封装provider,基于协议发现采集点,这里可能会存在多个,一个provider对应一个Discoverer协程; updater

    85631编辑于 2023-03-22
  • 来自专栏SpringBoot图文教程

    F版本SpringCloud 3—大白话Eureka服务注册与发现

    大白话服务服务注册与发现 Eureka在微服务的体系中,主要的功能是实现服务治理,服务注册与发现的,那么什么是服务注册与发现呢? 如果临时增加一个订单服务3,那么怎么告诉商品服务订单服务3的地址? 如果订单服务1宕机了,这个时候商品服务如果不知道,依然选择调用已经宕机的订单服务1,会服务调用失败。 这个过程叫做发现。 这个例子可以帮助大家,理解注册和发现两个过程,以及管理者的角色。 通过以上例子我们得到下图: 服务治理的管理者我们称之为注册中心。 服务注册:每个服务在启动的时候,告诉注册中心自己的位置信息。 服务发现:商品服务想要调用订单服务,先找注册中心获取到所有服务的位置信息,然后找到订单服务的地址,发起调用。 什么是Eureka Spring Cloud封装了Netlix 公司开发的Eureka模块来实现服务治理,管理服务服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。

    36640发布于 2020-03-31
  • 来自专栏学而时习之

    【Prometheus】3. 配置文件与基于文件的服务发现

    配置文件 全局配置文件 image.png global:全局配置选项 scrape_interval:采集被监控服务数据周期,默认1min采集一次; scrape_timeou:采集数据超时时间,默认 scrape_config的全局配置,可以继承prometheus的全集配置 第二个红框:设置访问被监控目标的配置,eg:设置协议(http/https),设置帐号密码,token,代理等; 第三个红框:服务发现配置文件 image.png drop: image.png image.png keep: image.png image.png dorplabel image.png image.png 基于文件的服务发现 创建支持服务发现的配置文件目录以及配置文件 image.png 2. 修改prometheus.yml image.png

    1K30发布于 2021-05-06
  • 来自专栏SpringBoot图文教程

    F版本SpringCloud 3—大白话Eureka服务注册与发现

    大白话服务服务注册与发现 Eureka在微服务的体系中,主要的功能是实现服务治理,服务注册与发现的,那么什么是服务注册与发现呢? 如果临时增加一个订单服务3,那么怎么告诉商品服务订单服务3的地址? 如果订单服务1宕机了,这个时候商品服务如果不知道,依然选择调用已经宕机的订单服务1,会服务调用失败。 这个过程叫做发现。 这个例子可以帮助大家,理解注册和发现两个过程,以及管理者的角色。 通过以上例子我们得到下图: 服务治理的管理者我们称之为注册中心。 服务注册:每个服务在启动的时候,告诉注册中心自己的位置信息。 服务发现:商品服务想要调用订单服务,先找注册中心获取到所有服务的位置信息,然后找到订单服务的地址,发起调用。 什么是Eureka Spring Cloud封装了Netlix 公司开发的Eureka模块来实现服务治理,管理服务服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。

    41300发布于 2020-03-26
  • 来自专栏机器学习算法与Python学习

    PyPI 发现 3 个针对 Linux 服务器的恶意库

    pypi-malicious-python-libraries 据 ZDNet 的报道,安全公司 ReversingLabs 在扫描了 PyPI(Python Package Index) 的一百多个万个库后,发现其中存在三个恶意 PyPI 显示三个库 libpeshnx、libpesh 和 libari 的作者同是名为 ruri12 的用户,上传时间是2017年11月,距今已接近两年,也就是说在被发现之前,这些库在 PyPI 上已被下载近 ReversingLabs 还发现三个库中只有 libpeshnx 的后门是活跃的,其余两个(libpesh 和 libari)恶意功能的代码是空的,这表明作者已将其删除,或者正准备推出后门版本。

    55430发布于 2019-07-23
  • 来自专栏CNCF

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

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

    50210发布于 2021-05-07
  • 来自专栏生如夏花的个人博客

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

    服务发现数据模型 Namespace隔离设计 命名空间(Namespace)用于进行租户粒度的隔离,Namespace 的常用场景之一是不同环境的隔离,例如开发测试 环境和生产环境的资源(如配置、服务服务 对外提供的软件功能,通过网络访问预定义的接口。 实例 提供一个或多个服务的具有可访问网络地址(IP:Port)的进程,启动一个服务,就产生了一个服务实例。 元信息 Nacos数据(如配置和服务)描述信息,如服务版本、权重、容灾策略、负载均衡策略、鉴权配置、各种自定义标 签 (label),从作用范围来看,分为服务级别的元信息、集群的元信息及实例的元信息。 例如 指定namespace的id为a1f8e863-3117-48c4-9dd3-e9ddc2af90a8 指定集群名称:DEFAULT表示默认集群,可不填写 spring: application cloud: nacos: discovery: server‐addr: 127.0.0.1:8848 namespace: a1f8e863‐3117‐48c4‐9dd3

    63010发布于 2021-01-06
领券