微服务的注册发现

微服务之服务注册与发现原理 在微服务架构或分布式环境下,服务注册与发现技术不可或缺,这也是程序员进阶之路必须要掌握的核心技术之一。 阅读详情

前言


       服务注册发现是分布式服务中定位服务使用服务的重要机制,也是服务集群中的重要机制。在我们之前了解的微服务架构中,服务的注册发现同样有着重要的作用。

服务注册、服务发现

       注册发现机制主要是在分布式集群中给服务提供的服务定位定位和服务负载均衡机制,自身有两个有用的步骤。
服务注册——该步骤存储的信息至少包括正在运行的服务的主机和端口信息。
服务发现——该步骤允许其他用户可以发现在服务注册阶段存储的信息。常规的服务发现机制有两种一种是客户端服务发现(client-side discovery)如rocketMQ,客户端主动询问NameServer发现可用的broker,一种是服务端服务发现(server-side discovery),如dubbo,nginx服务端将客户端请求分配到具体的服务上。

常见的服务注册发现组件

registrator
registrator 通过检查容器在线或者停止运行状态自动注册和发现服务,它目前支持 etcd、consul、zookeeper 和 SkyDNS 2。链接传送。它通常会和下面的工具配合使用,实现自动化服务注册功能。可以理解为真正的具有自动注册发现功能的组件,其他的etcd,consul,zookeeper和sykDNS,只能用来维护和同步服务注册信息是构建服务发现系统的组件。

zookeeper
        zookeeper是Hadoop和Hbase的重要组件,它非常成熟、稳定,有比较多的大公司在使用一个高性能、分布式应用程序协调服务,是Google的Chubby一个开源的实现。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等,因为能够维护完整一直的服务注册信息,可用于构建服务发现系统。

etcd
       etcd 是一个采用 HTTP 协议的健/值对存储系统,它是一个分布式和功能层次配置系统,可用于构建服务发现系统。其很容易部署、安装和使用,提供了可靠的数据持久化特性。它是安全的并且文档也十分齐全。它需要搭配一些第三方工具才可以提供服务发现功能。

consul
       Consul 是强一致性的数据存储,使用 gossip 形成动态集群。它提供分级键/值存储方式,不仅可以存储数据,而且可以用于注册器件事各种任务,从发送数据改变通知到运行健康检查和自定义命令,具体如何取决于它们的输出。consul web 界面,用户可以查看所有的服务和节点、监控健康检查状态以及通过切换数据中心读取设置键/值对数据。

一种微服务的注册发现架构

Docker+Consul+Nginx+Registrator实现服务注册与发现

Docker用于容器的创建,Nginx通过监控Consul templete来发现服务,Registrator用于暴露端口IP和端口给consul,Consul agent 用于监控节点变化,Consul集群用于维护IP端口注册表,并给Nginx提供服务的发现机制。

1、Consul agent server作为高可用通过Consul Template实时监测Node的变化。

2、Node如果变化就触发渲染模板动作,执行相应命令。

3、如图 如果Node01 docker创建了一个nginx web容器随机暴露了一个24123端口,Registrator会监听到这个事件之后,会将宿主级IP与暴露的端口注册到本地的Consul agent client。

4、Consul agent Clinet 再将这个请求转发到 Consul agent service中。

5、Nginx读取 Consul templete 为请求分配对于的服务节点。


总结:总的来说,服务的注册发现也不是什么新鲜事物,基本上分为三个部分,服务的暴露,同步到注册中心,读取配置中心的信息。我们在挑选服务注册发布组件的时候更多的是考虑,服务的健康检查,灾备,断流,扩容等。我们可以考虑一下像rocketMQ或者tomcat这样不需要zk之列的同步组件,但是自身提供了注册中心和服务探活,也是可以完美实现服务注册发现。

微服务架构——服务注册与发现 AI系统的微服务化不仅需要可注册、可发现的服务机制,更应能理解“异构资源可调度性”。服务注册中心在AI场景中不只是路由器,更是调度器。它连接了服务能力、计算资源和业务需求之间的桥梁,是实现多模型共存、智能路由、成本控制的关键。建议开发者设计注册与发现机制时,将“模型类型”“资源类型”“运行状态”等标签作为核心索引字段,引入资源探测模块,强化注册中心的智能能力,从而为AI微服务架构提供稳定、灵活、高性能的服务支撑。 阅读详情

相关推荐

(二)微服务注册与发现

微服务注册与发现 文章目录微服务注册与发现1 服务调用1.1 需求场景1.2 单体应用服务间调用1.3 微服务化后服务间调用1.4 微服务化带来的问题2 服务注册与发现2.1 Eureka介绍2.2 Eureka 高可用架构3 Eureka 实战3.1 编写一个Eureka Server3.2 将微服务注册到Eureka Server中3.3 实现Eureka Server的高可用4 **深入**...

weixin_45552760的博客 700

微服务、网关、服务发现/注册总结学习

微服务、网关、服务发现/注册总结学习

weixin_44339789的博客 2165

一个服务如何被找到、被调用、被看见:注册中心、发布注册、发现调用与服务监控的治理闭环

服务数量一多,“对方在哪儿”就成了时刻变化的变量。本文沿发布、注册、发现、调用、监控的治理闭环展开:注册中心的数据模型、健康检查与AP/CP取舍,自我保护、推空保护与本地快照三道自保机制;服务发布的启动器、动态代理、发布管理器、协议服务器与登记顺序;消费端的服务目录、请求ID配对、六种集群容错与三种发现模式;日志、指标、链路三支柱与熔断舱壁。配套五个Java演示程序实测:默认参数下宕机实例平均240秒才被摘除,优雅下线可降至45秒,统计窗口长于租约会让自我保护失效,尾部采样可捕获全部慢请求。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 169万+

服务注册和发现是什么意思?Spring Cloud 如何实现?

服务注册和发现是什么意思?Spring Cloud 如何实现?

customer08的博客 2001

Spring Boot 在微服务中的服务注册与发现!

🏆本文收录于「滚雪球学SpringBoot」专栏,手把手带你零基础入门Spring Boot,从入门到就业,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!

**My Coding Family** 1024

2025 年第十五届 APMCM 亚太地区大学生数学建模竞赛A题 农业灌溉系统优化

该摘要探讨了农业灌溉系统优化面临的复杂挑战,涉及智能灌溉技术的应用与资源配置问题。研究聚焦于一个1公顷的方形农场案例,该农场种植三种作物并面临动态环境条件(土壤类型、气象变化)。系统优化需平衡河流引水(非线性成本函数:C=50L^1.2+0.1Q^1.5)与储水罐灌溉(成本5元/升容积)两种方案,同时满足喷灌技术约束(喷头间距≥15米,覆盖半径15米)。关键矛盾体现在"平河旱储"的水资源调配策略与多作物需水量差异之间的协调,需通过传感器数据实时调整灌溉方案以实现效率最大化。(149字)

m0_60472361的博客 641

微服务·架构组件之服务注册与发现-Nacos

Nacos是一个易用的,稳定的,实时的,大规模的服务注册与发现中心和配置中心

baidu_41934937的博客 3291

深度学习模型设计的方法和技巧

设计神经网络模型是一个迭代的过程,需要不断试验和调整各个组成部分,以达到最佳性能。同时,遵循良好的工程实践,如模块化设计、版本控制、文档记录等,也是成功的关键。

xw555666的博客 4027

【云原生】Docker容器服务更新与发现之consul

服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的,不保障高可用性,也不考虑服务的压力承载,服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分布式架构,起初的解决手段是在服务前端负载均衡,这样前端必须要知道所有后端服务的网络位置,并配置在配置文件中。这里就会有几个问题:●如果需要调用后端服务A-N,就需要配置N个服务的网络位置,配置很麻烦●后端服务的网络位置变化,都需要改变每个调用者的配置既然有这些问题,那么服务注册与发现就是解决这些问题的。

qq_62462797的博客 1296

【论文阅读】LIME:Low-light Image Enhancement via Illumination Map Estimation(笔记最全篇)

文章目录AbstractIntroductionContributionMethodSpeed-up Method(1):ALM子问题 T子问题 G子问题 Z和μ\muμSpeed-up Method(2):权重变量实验conclusion 今天要整理的一篇论文是使用传统的方法解决低照度的问题,Guo等人于2016年发表在IEEE上,论文《LIME:Low-light Image Enhance...

florrie 2万+

Full Range && Limit Range

Full Range && Limit Range1 Full range和Limit Range定义2 为什么会需要Limit Range3 用Full range去显示limit Range图片4 YUV转RGB5 额外 1 Full range和Limit Range定义 我们知道,对于RGB和YUV的色彩空间来说,有个位深(bit-depth)的概念;位深是指记录图像每个像素的色彩通道时所使用的bit数,常见的RGB888,YUV420-8bit。以RGB888为例,其代表R G B

zjhcj1的博客 1万+

Spring Cloud Eureka详解

Spring Cloud Eureka详解 一 Eureka服务治理体系 1.1 服务治理 服务治理是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现。 Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装。主要负责完成微服务架构中的服务治理功能。 E...

sunhuiliang85的专栏 14万+

STC8单片机低功耗延时优化实践:从循环等待到定时唤醒

本文深入探讨了STC8单片机低功耗延时优化的核心方法,即利用掉电唤醒定时器(WKT)替代传统的循环等待,实现从“空转耗电”到“定时唤醒”的转变。通过实战代码演示了如何编写低功耗延时函数,将待机电流从mA级降至μA级,并分析了精度、唤醒时间等关键权衡点,为电池供电的物联网设备提供了有效的续航优化方案。

pea55的博客 324

02 微服务的注册和发现

Eureka是Netflix OSS套件中关于服务注册和发现的解决方案。因为Spring Cloud 在它的微服务解决方案中对Eureka进行了集成,并作为优先推荐方案进行宣传,所以早期有用 Spring Cloud 来建设微服务系统的同学会比较熟悉。目前大量公司的微服务系统中依旧使用Eureka作为注册中心,它的核心设计思想也被后续大量注册中心产品借鉴。但目前Eureka 2.0已经停止维护,所以新的微服务架构设计中,不再建议使用。

SamuelWorking的博客 1750

SAP公司间STO业务解析(包含主数据解析、后台配置解析、前台业务演示)

SAP公司间STO业务解析

ww114784的博客 1017

一、适配显示服务

基于rk3568适配显示服务,调动gpu;

XiaoC_Android的博客 1001

微服务注册和发现

在我的上一个博客介绍了,微服务拆分并且通过Http请求实现了跨微服务的远程调用。不过这种手动发送Http请求的方式存在一些问题。如果被调用的服务有多个实例,调用者的服务如何知道每一个实例的地址?http请求要写url地址,调用者的服务到底该调用哪个实例呢?如果在运行过程中,某一个被调用的服务实例宕机,调用者的服务依然在调用该怎么办?如果并发太高,被调用的服务临时多部署了N台实例,调用者的服务如何知道新实例的地址?为了解决上述问题,就必须引入注册中心的概念了,接下来我们就一起来分析下注册中心的原理。

2402_85591461的博客 760

【突变检验合集】含Pettitt突变检验等

突变检验方法合集

WW、forever的博客 3534

微服务的注册和发现

微服务的注册和发现 一、微服务设计,服务发现 微服务设计——服务发现 导语 在分布式微服务架构中,一个应用可能由一组职责单一化的服务组成。这时候就需要一个注册服务的机制,注册某个服务或者某个节点是可用的,还需要一个发现服务的机制来找到哪些服务或者哪些节点还在提供服务。 在实际应用中,通常还都需要一个配置文件告诉我们一些配置信息,比如数据连接的地址,redis 的地址等等。但很多时候,我们想...

runnoob_1115的博客 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

微服务注册与发现

微服务注册与发现 服务发现简介 通过前文的讲解,我们知道硬编码提供者地址的方式有不少问题。想要解决这些问题,服务消费者需要一个强大的服务发现机制,服务消费者使用这种机制获取服务提供者的网络信息。不仅如此,即使服务提供者的信息发生变化,服务消费者也无需修改配置文件。 ...

shi_zi_183的博客 2209

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SpringCloud微服务——服务注册和发现

在hm-api模块下新建一个配置类,定义Feign的日志级别:@Bean在上述业务中,包含大量的微服务调用,将被调用的接口全部定义为FeignClient,将其与对应的DTO放在hm-api模块。

qq_51773341的博客 1183

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

微服务的注册与发现

目录 简介 实现服务注册组件 设计服务注册表数据结构 搭建应用程序框架 定义服务注册表接口 使用 ZooKeeper 实现服务注册 服务注册模式 实现服务发现组件 搭建应用程序框架 ...

dianqiulai2465的博客 298

微服务中服务注册和发现的可行性方案

在 微服务的基建工作 中提到过,在云原生、微服务时代,如果还是手动修改服务地址,是几乎不可完成的工作,需要一种机制完成自动上报和获取服务地址的支撑组件,可以保障服务的快速上线和下线,这就是服务注册/发现组件。 为了表述方便,从系统规模定义几个阶段: - 巨型应用架构时期:很多应用都是一个巨型服务,一个应用包含所有功能,部署在小型机和大型机上,或者直接部署在物理服务器上。 - 单体架构时期:应用...

沉潜飞动 2935

微服务之服务注册和服务发现

 目录 一、微服务设计二、技术选型三、关键实现四、服务注册五、服务发现   目标 一、微服务包括那些内容   二、为什么会出现服务注册和服务发现     三、了解关键技术实现原理     一、微服务设计 1、包括那些内容 (1)、服务注册、发现、负载均衡和健康检查,假定采用进程内LB方案,那么服务自注册一般统一做在服务器端框架中,健康检查逻辑由具体业务服务定制,框架...

feng55551111的博客 2569

【微服务】(3) 服务注册与发现

订单服务调用商品服务的接口时,商品服务接口的,使用 spring 提供的 RestTemplate 进行 http 通信。这存在一个问题,每次 url 变更,都需要,频繁部署,十分麻烦。

2401_86272648的博客 958
上一篇: Metrics使用常规概念介绍
下一篇: 微服务常见技术框架
北海宇微
博客等级 码龄15年 26粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值