服务注册与发现流程

简介: 本文介绍微服务中客户端负载均衡的核心机制——服务注册与发现。通过引入注册中心(如Nacos),服务提供者注册信息,消费者从注册中心获取实例列表,并基于负载均衡策略选择实例调用。服务定期上报心跳,实现健康检测与动态上下线,确保调用的高可用性。(238字)

接下来我们讲的服务注册与发现流程正是用于实现客户端负载均衡。
首先引入注册中心的概念。
在微服务远程调用的过程中,包括两个角色:
● 服务提供者:提供接口供其它微服务访问,比如item-service
● 服务消费者:调用其它微服务提供的接口,比如cart-service
在大型微服务项目中,服务提供者的数量会非常多,为了管理服务提供者就引入了注册中心的概念。
三者的分工如下:
1 注册中心:提供服务注册接口,接收服务注册请求,保存服务实例的信息。
目前开源的注册中心中间件有很多,国内比较常见的有:
● Eureka:Netflix公司出品,目前被集成在SpringCloud当中,一般用于Java应用
● Nacos:Alibaba公司出品,目前被集成在SpringCloudAlibaba中,一般用于Java应用,我们项目使用Nacos。
● Consul:HashiCorp公司出品,目前集成在SPringCloud中,不限制微服务语言
2 服务提供者:服务接口提供方,请求注册中心将服务信息注册到注册中心。
3 服务调用者:远程调用的客户端,请求注册中心查询服务地址,通过负载均衡选取目标服务地址进行远程调用。
服务注册与发现流程如下:
● 服务启动时就会注册自己的服务信息(服务名、IP、端口)到注册中心
● 调用者可以从注册中心订阅想要的服务,获取服务对应的实例列表(1个服务可能多实例部署)
● 调用者作为客户端自己通过负载均衡算法挑选一个服务提供者实例进行远程调用,即客户端负载均衡
● 调用者向该实例发起远程调用
当服务提供者的实例宕机或者启动新实例时,调用者如何得知呢?
● 服务提供者会定期向注册中心发送请求,报告自己的健康状态(心跳请求)
● 当注册中心长时间收不到提供者的心跳时,会认为该实例宕机,将其从服务的实例列表中剔除
● 当服务有新实例启动时,会发送注册服务请求,其信息会被记录在注册中心的服务实例列表
● 当注册中心服务列表变更时,会主动通知微服务,更新本地服务列表

相关文章
|
13天前
|
数据采集 人工智能 安全
|
8天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
652 4
|
8天前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:七十、小树成林,聚沙成塔:随机森林与大模型的协同进化
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高准确性和稳定性。其核心思想包括两个随机性:Bootstrap采样(每棵树使用不同的训练子集)和特征随机选择(每棵树分裂时只考虑部分特征)。这种方法能有效处理大规模高维数据,避免过拟合,并评估特征重要性。随机森林的超参数如树的数量、最大深度等可通过网格搜索优化。该算法兼具强大预测能力和工程化优势,是机器学习中的常用基础模型。
350 164
|
7天前
|
机器学习/深度学习 自然语言处理 机器人
阿里云百炼大模型赋能|打造企业级电话智能体与智能呼叫中心完整方案
畅信达基于阿里云百炼大模型推出MVB2000V5智能呼叫中心方案,融合LLM与MRCP+WebSocket技术,实现语音识别率超95%、低延迟交互。通过电话智能体与座席助手协同,自动化处理80%咨询,降本增效显著,适配金融、电商、医疗等多行业场景。
359 155

热门文章

最新文章