首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Apollo客户端中轮询还是订阅?

在Apollo客户端中,轮询和订阅是两种不同的数据更新方式。

  1. 轮询:轮询是指客户端定期向服务器发送请求,以获取最新的数据更新。客户端会在一定的时间间隔内,反复向服务器发送请求,检查是否有新的数据可用。如果有新的数据更新,服务器会返回给客户端,客户端再进行相应的处理。轮询的优势是实现简单,适用于数据更新频率较低的场景。
  2. 订阅:订阅是指客户端向服务器注册一个监听器,当有新的数据更新时,服务器会主动推送给客户端。客户端不需要主动发送请求,而是等待服务器的推送。一旦有新的数据更新,服务器会立即通知客户端,客户端可以及时处理更新的数据。订阅的优势是实时性高,适用于数据更新频率较高的场景。

在Apollo客户端中,可以根据具体的需求选择使用轮询或订阅。如果数据更新频率较低,可以选择轮询方式,通过定期发送请求获取最新数据;如果数据更新频率较高,需要实时获取最新数据,可以选择订阅方式,通过注册监听器接收服务器的推送。

腾讯云相关产品中,可以使用腾讯云消息队列 CMQ 来实现订阅功能,CMQ 提供了消息订阅和推送的能力,可以方便地实现消息的实时推送和处理。具体产品介绍和使用方法可以参考腾讯云 CMQ 的官方文档:腾讯云 CMQ 产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Nacos 和 Apollo的 长轮询 定时机制,太好用了~

Nacso 客户端; Nacos 动态监听的长轮询机制原理图,本篇将围绕这张图剖析长轮询定时机制的原理: ConfigService 是 Nacos 客户端提供的用于访问实现配置中心基本操作的类,我们将从...客户端的长轮询定时机制 我们从NacosPropertySourceLocator.locate()开始【断点步入】: 1.1 利用反射机制实例化 NacosConfigService 对象 客户端的长轮询定时任务是...; 长轮询请求实现层面只是设置了一个比较长的超时时间,默认是 30s; 如果服务端的数据发生了变更,客户端会收到一个 HttpResult ,服务端返回的是存在数据变更的 Data ID、Group、...Tenant; 获得这些信息之后, LongPollingRunnable.run() 方法调用 getServerConfig() 去 Nacos 服务器上读取具体的配置内容; List<String...服务端的长轮询定时机制 2.1 服务器接收请求 ConfigController.listener() Nacos客户端 通过 HTTP 协议与服务器通信,那么服务器源码里必然有对应接口的实现;

46840
  • Apollo基础架构的实践经验

    客户端Apollo配置中心服务端获取到应用的最新配置后,会保存在内存 客户端会把从服务端获取到的配置本地文件系统缓存一份 遇到服务不可用,或网络不通的时候,依然能从本地恢复配置 应用程序从Apollo...客户端获取最新的配置、订阅配置更新通知 长连接实现上是使用的异步+轮询实现 4 Apollo 高可用部署 Apollo 架构说明我们提到过 client 和 portal 都是客户端负载均衡,根据...同时关闭 apollo 远程获取配置, VM options 增加 -Denv=local。 ?...默认配置文件取 app.id 的值,调整优先级 spring.application.name 之前 * * @return apollo app id */ private...Apollo 界面上创建、修改、删除配置 配置修改后只 Apollo 界面上变化,不会影响到应用实际使用的配置 发布权限允许用户 Apollo 界面上发布、回滚配置 配置只有发布、回滚动作后才会被应用实际使用到

    1.7K10

    Apollo基础架构的实践经验

    客户端Apollo配置中心服务端获取到应用的最新配置后,会保存在内存 客户端会把从服务端获取到的配置本地文件系统缓存一份 遇到服务不可用,或网络不通的时候,依然能从本地恢复配置 应用程序从Apollo...客户端获取最新的配置、订阅配置更新通知 长连接实现上是使用的异步+轮询实现 4 Apollo 高可用部署 Apollo 架构说明我们提到过 client 和 portal 都是客户端负载均衡,根据...同时关闭 apollo 远程获取配置, VM options 增加 -Denv=local。 ?...默认配置文件取 app.id 的值,调整优先级 spring.application.name 之前 * * @return apollo app id */ private...Apollo 界面上创建、修改、删除配置 配置修改后只 Apollo 界面上变化,不会影响到应用实际使用的配置 发布权限允许用户 Apollo 界面上发布、回滚配置 配置只有发布、回滚动作后才会被应用实际使用到

    1.4K10

    springMvc DeferredResult的long polling应用

    通过一个TaskExecutor,Spring MVC可以另外的线程调用Callable。...举一个生活的列子来说明长轮询轮询好在哪里:电商云集的时代,大家肯定都有查询快递的经历,怎么最快知道快递的进度呢?...比如类发布订阅的例子:配置中心服务,当配置中心的配置变更好,相关的客户端程序需要及时更新最新的配置。...disconf就是基于zookeeper的发布订阅来做的,apollo就是采用的DeferredResult的long polling来做的,客户端发起长轮询,配置中心监听器监听到配置变更后,将结果响应给客户端...apollo的具体做法可见服务端:com/ctrip/framework/apollo/configservice/controller/NotificationControllerV2.java 客户端

    17720

    apollo客户端通知原理

    客户端通知机制就可以实现,配置中心发布变更主体,然后应用层监听变更内容并做出响应操作即可。...3.客户端Apollo配置中心获取应用的最新配置后,会保存在内存 4.客户端会把从服务端获取到的配置本地缓存一份 遇到服务不可用,或网络不通时,依然能从本地恢复配置 5应用程序可以从...Apollo客户端获取最新的配置、订阅配置更新通知 长连接是更新配置的主要手段,定时刷新是辅助手段,避免长轮训失败造成数据更新丢失。...五、为什么使用长轮询 关于为什么使用 HTTP 长轮询,估计接触 Apollo 的人看到客户端通知实现方式时都会疑惑,为什么使用这种方式,而不是其他方式?...最主要还是简单,性能暂时不是瓶颈。

    3.2K60

    日历订阅腾讯待办,了解一下?

    这时,你只需要一个URL,就可以在其他日历应用轻松订阅腾讯待办。即便是脱离了待办小程序,也能在日历中看到设置了日期的未完成待办事项。 哪些日历可以订阅腾讯待办?...下面以“iOS日历订阅腾讯待办”举个栗子: 打开腾讯待办小程序,“我的”页面找到“在其他日历应用订阅腾讯待办”,选择“分组”并生成链接复制下来 打开手机“系统设置”--“密码与账户”--“添加账户...”--“其它”--“添加已订阅的日历”--然后服务器内粘贴已复制的链接 存储订阅--iOS日历成功添加订阅腾讯待办 日历订阅待办后的效果如下: 首次日历上成功订阅腾讯待办后,日历会定时去同步待办小程序里的数据...,你可以日历视图中查看那些新添加的待办事项,不需要再次订阅或者导入数据。...(订阅的刷新频率,是由客户端的日历自己定义的,因此不同日历应用的刷新周期会有所差异。) 如此方便实用的功能,你学会了吗?赶快去试试吧! 更多日历订阅教程,点击左下角“阅读原文”查看

    1.3K30

    日历订阅腾讯待办,了解一下?

    这时,你只需要一个URL,就可以在其他日历应用轻松订阅腾讯待办。即便是脱离了待办小程序,也能在日历中看到设置了日期的未完成待办事项。 哪些日历可以订阅腾讯待办?...下面以“iOS日历订阅腾讯待办”举个栗子: 打开腾讯待办小程序,“我的”页面找到“在其他日历应用订阅腾讯待办”,选择“分组”并生成链接复制下来 链接.png 打开手机“系统设置”--“密码与账户”-...-“添加账户”--“其它”--“添加已订阅的日历”--然后服务器内粘贴已复制的链接 存储订阅--iOS日历成功添加订阅腾讯待办 日历订阅待办后的效果如下: 首次日历上成功订阅腾讯待办后,...日历会定时去同步待办小程序里的数据,你可以日历视图中查看那些新添加的待办事项,不需要再次订阅或者导入数据。...(订阅的刷新频率,是由客户端的日历自己定义的,因此不同日历应用的刷新周期会有所差异。) 如此方便实用的功能,你学会了吗?赶快去试试吧!

    93230

    主流微服务配置中心对比

    Nacos的命名空间和Apollo的环境一样,是一个逻辑概念,可以作为环境逻辑隔离。Apollo的命名空间指配置的名称,具体的配置项指配置文件的一个Property。...Spring Cloud Config使用Spring Cloud Bus推送配置变更,Spring Cloud Bus兼容 RabbitMQ、Kafka等,支持查询订阅Topic和Consumer的订阅关系...基本上,这三个产品都具备监听查询能力,我们自己的使用过程,Nacos使用起来相对简单,易用性相对更好些。...Apollo也支持多环境,控制台创建配置的时候就要指定配置所在的环境,客户端启动的时候指定JVM参数ENV来访问对应环境的配置文件。...Nacos和Apollo配置推送都是基于HTTP长轮询客户端和配置中心建立HTTP长联接,当配置变更的的时候,配置中心把配置推送到客户端。 ?

    4.1K30

    微服务配置中心全面对比,哪个更牛逼!?

    Nacos的命名空间和Apollo的环境一样,是一个逻辑概念,可以作为环境逻辑隔离。Apollo的命名空间指配置的名称,具体的配置项指配置文件的一个Property。...Spring Cloud Config使用Spring Cloud Bus推送配置变更,Spring Cloud Bus兼容 RabbitMQ、Kafka等,支持查询订阅Topic和Consumer的订阅关系...基本上,这三个产品都具备监听查询能力,我们自己的使用过程,Nacos使用起来相对简单,易用性相对更好些。...Apollo也支持多环境,控制台创建配置的时候就要指定配置所在的环境,客户端启动的时候指定JVM参数ENV来访问对应环境的配置文件。...Nacos和Apollo配置推送都是基于HTTP长轮询客户端和配置中心建立HTTP长联接,当配置变更的的时候,配置中心把配置推送到客户端

    2.4K20

    架构设计之微服务配置中心选型

    Nacos的命名空间和Apollo的环境一样,是一个逻辑概念,可以作为环境逻辑隔离。Apollo的命名空间指配置的名称,具体的配置项指配置文件的一个Property。...Spring Cloud Config使用Spring Cloud Bus推送配置变更,Spring Cloud Bus兼容 RabbitMQ、Kafka等,支持查询订阅Topic和Consumer的订阅关系...基本上,这三个产品都具备监听查询能力,我们自己的使用过程,Nacos使用起来相对简单,易用性相对更好些。...Apollo也支持多环境,控制台创建配置的时候就要指定配置所在的环境,客户端启动的时候指定JVM参数ENV来访问对应环境的配置文件。...Nacos和Apollo配置推送都是基于HTTP长轮询客户端和配置中心建立HTTP长联接,当配置变更的的时候,配置中心把配置推送到客户端。 ?

    3.4K50

    Nacos、Apollo、SpringCloud Config微服务配置中心对比

    Nacos的命名空间和Apollo的环境一样,是一个逻辑概念,可以作为环境逻辑隔离。Apollo的命名空间指配置的名称,具体的配置项指配置文件的一个Property。...Spring Cloud Config使用Spring Cloud Bus推送配置变更,Spring Cloud Bus兼容 RabbitMQ、Kafka等,支持查询订阅Topic和Consumer的订阅关系...基本上,这三个产品都具备监听查询能力,我们自己的使用过程,Nacos使用起来相对简单,易用性相对更好些。...Apollo也支持多环境,控制台创建配置的时候就要指定配置所在的环境,客户端启动的时候指定JVM参数ENV来访问对应环境的配置文件。...Nacos和Apollo配置推送都是基于HTTP长轮询客户端和配置中心建立HTTP长联接,当配置变更的的时候,配置中心把配置推送到客户端

    2.6K51

    深度对比三种主流微服务配置中心

    Nacos的命名空间和Apollo的环境一样,是一个逻辑概念,可以作为环境逻辑隔离。Apollo的命名空间指配置的名称,具体的配置项指配置文件的一个Property。...Spring Cloud Config使用Spring Cloud Bus推送配置变更,Spring Cloud Bus兼容 RabbitMQ、Kafka等,支持查询订阅Topic和Consumer的订阅关系...基本上,这三个产品都具备监听查询能力,我们自己的使用过程,Nacos使用起来相对简单,易用性相对更好些。...Apollo也支持多环境,控制台创建配置的时候就要指定配置所在的环境,客户端启动的时候指定JVM参数ENV来访问对应环境的配置文件。...Nacos和Apollo配置推送都是基于HTTP长轮询客户端和配置中心建立HTTP长联接,当配置变更的的时候,配置中心把配置推送到客户端。 ?

    3.8K50

    Golang 依赖注入是 解药 还是 毒药?

    完全的面向过程编程, go 是可行的。 但如果你的项目比较大,又是多人协作,我真心建议你使用 DI,OOP 是有它存在的意义的。...那么也就是意味着,使用可能会导致空指针,也就是没有初始化好,就已经使用了。虽然你一样可以说人为的将所有初始化放在 main 完成。...我也是从 java 过来的, java spring 框架中就有这个概念,当时我在学习 java 的时候就有所了解,但其实当我 golang 实践了之后有了更深刻的认识。...反射肯定会有性能损失,而 wire 我使用的过程还是挺不错,所以这里用 wire 来讲述具体使用情况。 base code 首先,我们定义一些结构来模拟我们经常做的 web 项目的初始化过程。...但是对于一些大项目来说,我觉得为了以后的考虑,还是别挖坑了,无论是从消除全局变量还是扩展性来说,DI 或者说 OOP 都是非常有必要的。

    1.9K41

    搭建云原生配置中心的技术选型和落地实践

    配置中心的第一个版本,我们选择了 Apollo 作为服务端和界面,因为 Apollo 在用户界面友好度、核心功能支持度、社区文档完善度方面都较为突出。...目前配置中心部署时使用的配置策略是每 30 秒部署 50% 的节点。 配置中心客户端 客户端是微服务进行配置轮询和配置更新的重要组件。...配置中心客户端的工作流程如下: 微服务启动后,我们会将备份配置文件加载到内存,然后启动一个 Go Routine 关联配置中心,按照一定时间间隔来轮询配置。...如果发现配置更新,就把更新内容合并到内存配置和其他定制的配置,否则等待下一次轮询。...客户端本地存储了之前轮询获得的服务端最新配置版本,每次调用 AppConfig API 查询时都会输入这个配置版本。

    1.3K20

    我有 7种 实现web实时消息推送的方案,7种!

    轮询中间件应用的很广泛,比如Nacos和apollo配置中心,消息队列kafka、RocketMQ中都有用到长轮询。 Nacos配置中心交互模型是push还是pull?...这次我使用apollo配置中心实现长轮询的方式,应用了一个类DeferredResult,它是servelet3.0后经过Spring封装提供的一种异步请求机制,直意就是延迟结果。...iframe流 iframe流就是页面插入一个隐藏的标签,通过src请求消息数量API接口,由此服务端和客户端之间创建一条长连接,服务端持续向iframe传输数据。...该协议将消息的发布者(publisher)与订阅者(subscriber)进行分离,因此可以不可靠的网络环境,为远程连接的设备提供可靠的消息服务,使用方式与传统的MQ有点类似。...MQTT协议为什么物联网(IOT)如此受偏爱?而不是其它协议,比如我们更为熟悉的 HTTP协议呢? 首先HTTP协议它是一种同步协议,客户端请求后需要等待服务器的响应。

    9.4K65
    领券