当前位置: 首页 > wzjs >正文

网站建设验收意见注册公司的流程和步骤

网站建设验收意见,注册公司的流程和步骤,江西南昌网站建设哪家好,出国劳务信息网服务发现是微服务架构的核心组件,它允许一个服务(消费者)动态地找到它需要调用的另一个服务(提供者)的网络地址(IP 和端口),而无需硬编码这些地址。 整体流程概览: 服务提供者 (Pr…

在这里插入图片描述 服务发现是微服务架构的核心组件,它允许一个服务(消费者)动态地找到它需要调用的另一个服务(提供者)的网络地址(IP 和端口),而无需硬编码这些地址。

整体流程概览:

  1. 服务提供者 (Provider): 启动后向 Nacos Server 注册自身信息(服务名、IP、端口、元数据等)。(这是服务发现的前提)
  2. 服务消费者 (Consumer): 启动后或在需要调用 Provider 时,向 Nacos Server 查询 Provider 的服务实例列表。
  3. Nacos Server: 接收查询请求,从其内部维护的注册表中查找对应的服务,并将健康的实例列表返回给 Consumer。
  4. 服务消费者 (Consumer): 接收到实例列表后,通常会将其缓存在本地内存中。
  5. 服务消费者 (Consumer): 使用负载均衡策略(如轮询、随机、权重等)从缓存的实例列表中选择一个实例进行调用。
  6. Nacos Server: 当 Provider 实例列表发生变化(新实例注册、实例下线、实例健康状态变化)时,会主动推送更新后的列表给订阅了该服务的 Consumer。
  7. 服务消费者 (Consumer): 接收到推送的更新,刷新本地缓存的实例列表。
  8. (备用机制): Consumer 也会定期向 Nacos Server 拉取 (Poll) 服务列表,以防止推送失败或网络问题导致信息不一致。

客户端 (服务消费者) 获取和更新服务实例列表的详细流程:

  1. 依赖与配置:

    • 消费者应用同样需要引入 Nacos Discovery 的客户端 SDK(如 spring-cloud-starter-alibaba-nacos-discovery)。
    • 配置 Nacos Server 地址 (spring.cloud.nacos.discovery.server-addr)。
    • 在代码中(例如使用 RestTemplate, FeignClient, Dubbo @Reference 等)指定要调用的服务名(通常对应提供者的 spring.application.name)。
  2. 首次获取/按需获取 (Pull 模式):

    • 触发时机:
      • 应用启动时,如果配置了预热或需要立即获取某些服务列表。
      • 首次通过客户端负载均衡器(如 Spring Cloud LoadBalancer 或 Ribbon)尝试调用某个服务时。
    • 过程:
      • 客户端 SDK (如 NacosNamingService) 调用 selectInstancesgetAllInstances 方法。
      • SDK 构建一个 HTTP GET 请求,发送到 Nacos Server 的 /nacos/v1/ns/instance/list 接口。
      • 请求参数通常包括:serviceName (必需), namespaceId (可选,默认 “public”), groupName (可选,默认 “DEFAULT_GROUP”), clusters (可选,指定集群), healthyOnly (可选,通常为 true,只获取健康实例)。
      • Nacos Server 查询内部注册表,过滤出符合条件的、健康的实例列表。
      • Nacos Server 将实例列表(通常是 JSON 格式,包含每个实例的 IP、端口、权重、元数据、健康状态等信息)作为 HTTP 响应返回给客户端。
      • 客户端 SDK 接收并解析响应,将实例列表存储在本地缓存中(例如,Spring Cloud LoadBalancer 会有自己的 ServiceInstanceListSupplier 来管理这个缓存)。
  3. 实时更新 (Push 模式 - Nacos 的核心优势):

    • 订阅: 客户端在首次查询某个服务后(或根据配置启动时),会向 Nacos Server 订阅 (subscribe) 该服务。这意味着客户端告诉 Nacos Server:“我对 serviceName 这个服务的实例变化感兴趣,请在变化时通知我。”
    • 长连接/长轮询 (Long Polling / gRPC): 最新 Nacos 版本主要使用 gRPC 长连接HTTP 长轮询 机制来实现推送。
      • 客户端向 Nacos Server 发起一个特殊的连接(gRPC Stream 或 HTTP GET 请求,带有较长的超时时间)。
      • Nacos Server 保持这个连接打开,暂时不返回响应。
      • 当 Nacos Server 检测到客户端订阅的服务实例列表发生任何变化(实例增加、减少、健康状态改变、元数据更新等)时:
        • Nacos Server 会立即通过这个保持的连接将最新的完整实例列表(或一个变更通知)推送给客户端。
        • 客户端收到推送后,立即处理(通常是更新本地缓存)。
        • 客户端处理完后,会立即发起一个新的长连接/长轮询请求,等待下一次更新。
      • 如果长时间没有变更,长连接/长轮询请求可能会因超时而自然断开,客户端会立即重新发起连接。
    • UDP 推送 (早期版本/已不推荐): Nacos 早期版本也支持 UDP 推送。Nacos Server 将变更信息通过 UDP 数据包发送给客户端监听的端口。但 UDP 是不可靠的,容易丢包,且可能存在防火墙问题,现在主要依靠 gRPC/长轮询。
    • 处理推送: 客户端 SDK 内部有监听器(如 EventDispatcher)负责接收和处理来自 Nacos Server 的推送。收到推送后,会触发相应的事件,更新本地缓存。
  4. 定期拉取 (Scheduled Polling - 兜底机制):

    • 为了防止因网络问题、推送失败或 Nacos Server 故障导致客户端缓存与服务端不一致,客户端 SDK 通常还会配置一个后台定时任务
    • 这个任务会定期(例如默认 30 秒)主动向 Nacos Server 发起一次 Pull 请求(类似首次获取),获取最新的服务列表,并与本地缓存进行比对和更新。
    • 这确保了即使在推送机制暂时失效的情况下,客户端也能在一定延迟内获取到最新的服务信息,提高了容错性。
  5. 与负载均衡器集成:

    • 客户端获取到的实例列表(无论是通过 Pull 还是 Push 更新的)会被提供给客户端负载均衡器(如 Spring Cloud LoadBalancer)。
    • 当消费者发起对提供者服务的调用时,负载均衡器会根据配置的策略(轮询、随机、响应时间、权重等)从当前缓存的健康实例列表中选择一个具体的实例 IP 和端口,然后发起网络请求。

总结:

  • 核心机制: Nacos 服务发现主要依赖实时推送 (Push),辅以定期拉取 (Pull) 作为兜底。
  • 推送实现: 最新版本主要通过 gRPC 长连接HTTP 长轮询 实现高效、及时的推送。
  • 客户端缓存: 消费者会将获取到的实例列表缓存在本地,避免每次调用都查询 Nacos,提高性能。
  • 负载均衡: 获取到的实例列表通常与客户端负载均衡器结合使用,实现请求的分发和故障转移。
  • 健康检查: 服务发现通常只关心健康的实例,Nacos 通过心跳机制维护实例的健康状态,并在查询和推送时进行过滤。

这种结合了实时推送和定期拉取的机制,使得 Nacos 的服务发现既能保证较低的变更延迟,又能保证最终的数据一致性和系统健壮性。


文章转载自:

http://2EBwJ6dC.pwdgy.cn
http://bEKf7jGG.pwdgy.cn
http://abRFAMyN.pwdgy.cn
http://pQOhyx3S.pwdgy.cn
http://s62Ma4VP.pwdgy.cn
http://gwbeyH8n.pwdgy.cn
http://1wGrw9vu.pwdgy.cn
http://da4L6xpl.pwdgy.cn
http://r87gJtjh.pwdgy.cn
http://9al9dDIE.pwdgy.cn
http://KZKuHdhu.pwdgy.cn
http://VLbXpyYo.pwdgy.cn
http://t6pa6IUg.pwdgy.cn
http://t2KK2j7V.pwdgy.cn
http://LefQKV4N.pwdgy.cn
http://BI4H1ByJ.pwdgy.cn
http://GT5YXlGY.pwdgy.cn
http://u8N48n7J.pwdgy.cn
http://cfrWVXja.pwdgy.cn
http://noqP2iAd.pwdgy.cn
http://7jekbSYW.pwdgy.cn
http://SbNSxu14.pwdgy.cn
http://Eq7IYeYU.pwdgy.cn
http://U5t2CJpM.pwdgy.cn
http://qGYxFTYx.pwdgy.cn
http://OqPtzNt5.pwdgy.cn
http://m8ZjJMNA.pwdgy.cn
http://VI8li8Bd.pwdgy.cn
http://zk05VpxB.pwdgy.cn
http://cdcPNa3o.pwdgy.cn
http://www.dtcms.com/wzjs/750959.html

相关文章:

  • 金融互助平台网站制作asp网站开发报告
  • 做网站需要知道的简单代码如何实现网站的快速排名
  • 不需要付费的网站建设官网网址
  • 网站导航排版布局wordpress 调用数据库
  • 德州网站有哪些平面设计技术培训机构
  • php音乐网站设计沛县徐州网站开发
  • 建设一个视频网站己18网站开发图片存哪里
  • 一句话介绍网站开发做网站课程报告
  • 天津市建设安全协会网站wordpress首页分类
  • 做施工的平台网站装饰设计资质乙级
  • 展示型网站搭建网站建设 xplogo
  • 西安网站制作公司花禾科技手机网站建设规划书
  • 网站建设公司的网销好做吗申请阿里巴巴网站首页
  • 做外贸用什么网站比较好企业网站功能介绍
  • 网站建设找业主签字模板网站建设的运用场景
  • wordpress图片不同分辨率搜索引擎优化规则
  • 网站案例模板centos wordpress 空白
  • 做物流网站的多少钱大学生水果预定配送网站建设的项目规划书
  • 织梦网站模板安装教程lamp 搭建wordpress
  • 网站开发三层架构电商平台寻求供货商
  • 网站广告网络推广价格低wordpress能做cms
  • 安装wordpress提示建立数据库连接时出错北京做网络优化的公司
  • 最早做淘宝返利的网站wordpress和vue
  • 招聘网站建设价格摩托车建设网站
  • 有了代刷网的源码怎么做网站什么网站是solr做的
  • 网站建设销售渠道厦门移动网站建设哪家专业
  • 如何识别网站的建站程序使用pycharm网站开发
  • 哪个网站可以做行程药品和医疗器械网站icp备案前置审批流程
  • 平凉北京网站建设asp个人网站模板下载
  • c语言做的网站有什么优缺点用php做网站的优势