首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏pythonista的日常

    订单实时消息通知实现

    前段时间我们项目有个消息实时推送的需求,比如用户在我们软件下了一个订单,商家在我们软件上不用手动刷新页面就会收到客户下单的消息,就是我们后端主动给前端推送消息。我们就考虑用了实时通讯的技术。 这个项目是暴露出一个发送消息的接口,供我们商城后台调用发送消息实时推送的逻辑功能实现逻辑是前端连接上我们消息同步服务(可以理解为进入游戏大厅),然后订阅我们指定的 url 地址(可以理解为进入某个游戏房间),我们软件调用同步服务发送消息的接口对指定的订阅 url 地址发送消息,这样我们就可以主动给前端推送消息了。 我自己手写了一个简单的聊天室的例子 用浏览器打开两个相同的标签页,在一个标签页输入聊天内容,另外一个聊天页也能收到消息。 ? 也可以通过接口向聊天室发送消息。 ?

    1.8K10发布于 2020-06-16
  • 来自专栏向治洪

    实时消息传输协议(RTMP)详解

    通常情况下,不同类型的消息会被分配不同的优先级,当网络传输能力受限时,优先级用来控制消息在网络底层的排队顺序。 RTMP块流 实时消息传递协议块流(RTMP块流)。 RTMP块流被设计用来传输实时消息协议,它可以使用任何协议来发送消息流。每个消息都包含时间戳和有效类型标识。 客户端必须接收到S1消息,然后发送C2消息。客户端必须接收到S2消息,然后发送其他数据。 服务端必须接收到C0或者C1消息,然后发送S0和S1消息。服务端必须接收到C1消息,然后发送S2消息。 服务端必须接收到C2消息,然后发送其他数据。 询问发送完成:客户端和服务端等待s2和c2。 握手完成:客户端和服务端开始交换消息。 附:直播技术大揭秘

    13.5K52发布于 2018-02-06
  • 来自专栏饭勺oO的技术博客

    造轮子之消息实时推送

    说到消息推送,很多人肯定会想到Websocket,既然我们使用Asp.net core,那么SignalR肯定是我们的首选。 接下来就用SignalR来实现我们的消息实时推送。 约定消息通知结构 为了方便并且统一结构,我们最好约定一组通知格式,方便客户端处理消息。 Error = 3 } } NotificationData包含消息通知类型Type,以及消息数据Data。 配合EventBus进行推送 有时候我们有些任务可能非实时响应,等待后端处理完成后,再给客户端发出一个消息通知。或者其他各种消息通知的场景,那么配合EventBus就可以非常灵活了。 可以看到成功接收到了消息通知。 对接非常容易且灵活。 就这样我们轻轻松松完成了消息实时通知的功能集成。

    71910编辑于 2023-10-18
  • 来自专栏Owen's World

    php实现websocket实时消息推送

    然而在实时通信中,并没有多大的作用,http只能由client发起请求,server才能返回信息,即server不能主动向client推送信息,无法满足实时通信的要求。 二、介绍client与server之间的socket连接原理 1、下面是一个演示client和server之间建立WebSocket连接时握手部分 2、client与server建立socket时握手的会话内容 ,那么 $changes = array([1] => Resource id #4),此时用于接收新客户端2连接 * 情况二:如果是客户端1(Resource id #5)发送消息 已有连接发送数据,那么实时切换到当前连接,接收数据,如情况二*/ socket_select($changes, $write, $except, null); // 打开websocket webSocket.onopen = function (event){ onOpen(event); }; //监听消息

    3.1K10编辑于 2021-12-08
  • 来自专栏分享学习

    springBoot集成websocket实时消息推送

    springBoot集成websocket实时消息推送 WebSocket是一种在Web应用程序中实现双向通信的协议。 常见的消息推送方法 WebSocket:通过使用WebSocket协议,可以在Java后端实现双向通信,从而实现消息实时推送。 消息队列:通过使用消息队列如RabbitMQ、ActiveMQ或者Kafka等,Java后端可以将消息发布到消息队列中,然后客户端通过订阅消息队列来获取实时消息推送。 如下图所示,原理就是客户端不断地向服务端发请求,如果服务端数据有更新,服务端就把数据发送回来,客户端就能接收到新数据了 长轮询(Long Polling):虽然不同于实时推送,但长轮询是一种模拟实时推送的技术 在Java后端,你可以实现长轮询机制来达到类似实时推送的效果。 以上是一些常见的Java后端实现消息实时推送提醒的方法。

    3.2K40编辑于 2023-11-17
  • 来自专栏实战docker

    Flink实战:消费Wikipedia实时消息

    article/details/85205622 关于Wikipedia Edit Stream Wikipedia Edit Stream是Flink官网提供的一个经典demo,该应用消费的消息来自维基百科 ,消息中包含了用户名对wiki的编辑情况,demo的官方资料地址:https://ci.apache.org/projects/flink/flink-docs-release-1.2/quickstart /run_example_quickstart.html 消息来源 消息的DataSource是个名为WikipediaEditsSource的类,这里面建立了到irc.wikimedia.org的Socker Internet_Relay_Chat 关于WikipediaEditsSource类的深入分析,请参考《Flink数据源拆解分析(WikipediaEditsSource)》 实战简介 本次实战就是消费上述消息 ,然后统计每个用户十五秒内所有的消息,将每次操作的字节数累加起来,就得到用户十五秒内操作的字节数总和,并且每次累加了多少都会记录下来并最终和聚合结果一起展示; 和官网demo的不同之处 和官网的demo

    1K20发布于 2019-06-02
  • 来自专栏子晋城

    IM消息机制(一):保证在线实时消息的可靠投递

    或者说信息)的实时性、必达性。 (实际上IM中,数据通讯层无论用的是UDP还是TCP协议,都同样需要消息送达保证(即QoS)机制,原因在于IM的通信是A端-Server-B端的3方通信,而非传统C/S或B/S这种2方通信)。 要想实现应用层的消息可靠投递,必须加入应用层的确认机制,即:要想让发送方client-A确保接收方client-B收到了消息,必须让接收方client-B给一个消息的确认,这个应用层的确认的流程,与消息的发送流程类似 为了保证消息的可靠性,也需要有ack机制,但由于拉取离线消息不存在N报文,故实际情况要简单的多,即先发送offline:R报文拉取消息,收到offline:A后,再发送offlineack:R删除离线消息 ack,群消息就没有这么简单了,群消息存在一个扩散系数,im群消息的可靠投递问题感兴趣的可查阅相关资料。

    2.8K21编辑于 2022-01-18
  • 来自专栏友弟技术工作室

    AlertOver简单好用的实时消息工具

    Alertover是一个高效免费的团队消息中心,可以用来作为中小型创业团队或者公司的消息中心,随时随地,分级别分组接收来自服务器预警,运营管理后台消息,提高技术团队,运营团队的消息响应速度。 支持多发送源,消息分级,声音提示。 从此远离昂贵的短信通知,抛弃乱糟糟的邮件通知。 2,以组织为单位管理成员,发送源,接收组 添加组织然后邀请成员加入,在成员列表管理成员,并建立该组织下的发送源和接收组。 发送源只能通知到同一组织下的接收组和成员发送源,接收组 ?

    1.6K110发布于 2018-04-25
  • 来自专栏跟着飞哥学编程(全栈联盟社区)

    WebSocket实现长连接实时消息推送

    javax.websocket-api</artifactId> <version>1.1</version>     <scope>provided</scope> </dependency> 2. getClients() { return clients; } } 3.具体业务中应用,此处根据自身业务使用 //业务代码,例如:前台发起二维码扫码实名认证请求,需要后台认证完成后主动推送消息给前台修改二维码状态 }; websocket.onmessage = function(e) {//接收消息 e = e || event; var message = e.data; console.log(username+"接收到消息:"+message); //根据不同状态操作二维码 if(message! $("#srrzQrCodeDiv").attr("style","display:none;"); applyFallBack(); }else if(status==2)

    2.3K10编辑于 2022-11-30
  • 来自专栏飞鸟的专栏

    Redis实现消息队列和实时通信

    实时通信Redis也可以用作实时通信的工具,其中最常用的方法是通过发布/订阅模式进行消息传递,这在前面的回答中已经详细介绍过了。 另外,Redis还提供了一些其他功能,如集合(Set)和有序集合(Sorted Set),可以用于实现更复杂的实时通信场景。 chatroom.send_message('User2', 'Hi, User1!') 在主程序中,我们创建了一个名为general的聊天室实例,并让User1和User2加入聊天室。然后,我们通过调用send_message方法向聊天室发送了一些消息。 用户可以加入聊天室、发送消息,并实时接收其他用户发送的消息

    1.3K40编辑于 2023-05-17
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(四)

    分布式实时消息队列Kafka(四) 知识点01:课程回顾 Kafka中生产者的数据分区规则是什么? 建议使用的分配规则 Kafka中数据读写的流程 分布式存储工具 Zookeeper:分布式协调服务工具 HDFS:分布式文件系统 Hbase:分布式NoSQL数据库 Kafka:分布式消息队列 0】C2T1【1】 T2【1】C3T1【2】 T22】 轮询:将所有分区重新分配 消费者分区C1T1【0】 T1【2】 T2【1】C2T1【1】 T2【0】 T22】 黏性:直接故障的分区均分给其他的消费者 C1T1【0】C2T2【0】C3T2【1】 T3【0】 T3【1】 T3【2】 轮询负载均衡 消费者分区C2T1【0】 T2【1】C3T2【0】T3【0】 T3【1】 T3【2】 假设二:黏性 消费者分区C1T1【0】C2T2【0】 T2【1】C3T3【0】 T3【1】 T3【2】 黏性负载均衡 消费者分区C2T2【0】 T2【1】 T1【0】C3T3【0】 T3【1】 T3【2】 小结

    1.4K20编辑于 2021-12-07
  • 来自专栏明丰随笔

    浅谈消息队列 2

    API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。 2. JMS 支持TextMessage、MapMessage 等复杂的消息类型;而 AMQP 仅支持 byte[] 消息类型(复杂的类型可序列化后发送)。 3. 2. RabbitMQ 在吞吐量方面虽然稍逊于 Kafka 和 RocketMQ ,但是由于它基于 erlang 开发,所以并发能力很强,性能极其好,延时很低,达到微秒级。 如果是大数据领域的实时计算、日志采集等场景,用 Kafka 是业内标准的,绝对没问题,社区活跃度很高,绝对不会黄,何况几乎是全世界这个领域的事实性规范。 3. kafka 唯一的一点劣势是有可能消息重复消费,那么对数据准确性会造成极其轻微的影响,在大数据领域中以及日志采集中,这点轻微影响可以忽略这个特性天然适合大数据实时计算以及日志收集。

    62940发布于 2019-08-09
  • 来自专栏架构之家

    使用Flink 与 Pulsar 打造实时消息系统

    随着数据规模日益增长,产品不断迭代,BIGO 消息流平台承载的数据规模出现了成倍增长,下游的在线模型训练、在线推荐、实时数据分析、实时数仓等业务对消息流平台的实时性和稳定性提出了更高的要求。 2、当分区副本不处于 ISR(同步)状态时,一旦有 broker 发生故障,可能会造成数据丢失或该分区无法提供读写服务。 为了提高消息队列的实时性、稳定性和可靠性,降低运维成本,我们开始考虑是否要基于开源 Kafka 做本地化二次开发,或者看看社区中有没有更好的解决方案,来解决我们在维护 Kafka 集群时遇到的问题。 2、高吞吐:已经在 Yahoo! 的生产环境中经受了考验,支持每秒数百万条消息的发布-订阅(Pub-Sub)。 3、低延迟:在大规模的消息量下依然能够保持低延迟(小于 5 ms)。 业务收益 从 2020 年 5 月上线至今,Pulsar 运行稳定,日均处理消息数百亿,字节入流量为 2~3 GB/s。

    1.7K20编辑于 2022-07-12
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(三)

    分布式实时消息队列Kafka(三) 知识点01:课程回顾 请简述Kafka的集群架构及角色功能? 描述具体的类及方法 step1:构建生产者连接对象:KafkaProducer 需要配置对象:管理配置,例如连接地址:Properties step2:KafkaProducer:send: 描述具体的类及方法 step1:构建消费者连接对象:KafkaConsumer 需要配置对象:管理配置,例如连接地址:Properties step2:消费者需要订阅Topic KafkaConsumer acks:返回的确认,当接收方收到数据以后,就会返回一个确认的消息 生产者向Kafka生产数据,根据配置要求Kafka返回ACK ack=0:生产者不管Kafka有没有收到,直接发送下一条

    1.1K40编辑于 2021-12-07
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(一)

    分布式实时消息队列Kafka(一) 知识点01:课程回顾 Hbase是什么? 分布式基于内存按列存储NoSQL数据库,用于实时、随机读写大量的数据 Hbase的设计思想是什么? step2:什么情况下需要使用消息队列? step3:消息队列的优缺点是什么? 简单点说:消息队列MQ用于实现两个系统之间或者两个模块之间传递消息数据时,实现数据缓存 功能 基于队列的方式,实现数据缓存 应用场景 用于所有需要实现实时、高性能、高吞吐、高可靠的消息传递架构中 优点 目标:掌握Kafka中的分区副本机制 路径 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Hzk95MA-1625806073233)(20210329_分布式实时消息队列 Kafka:分布式实时消息队列系统 实施 概念HDFSHbaseKafka第一层逻辑划分第二层逻辑划分存储分区及划分规则分区存储规则分区安全存储单元架构HA 概念 HDFS Hbase

    1.4K30编辑于 2021-12-07
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(一)

    分布式实时消息队列Kafka(一) 知识点01:课程回顾 Hbase是什么? 分布式基于内存按列存储NoSQL数据库,用于实时、随机读写大量的数据 Hbase的设计思想是什么? 引入消息队列:解决高并发写问题 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wwEN0xMz-1617011887970)(20210329_分布式实时消息队列Kafka step2:什么情况下需要使用消息队列? step3:消息队列的优缺点是什么? 简单点说:消息队列MQ用于实现两个系统之间或者两个模块之间传递消息数据时,实现数据缓存 功能 基于队列的方式,实现数据缓存 应用场景 用于所有需要实现实时、高性能、高吞吐、高可靠的消息传递架构中 优点 ,实现立即一致性 异步的概念 流程 step1:用于提交请求 step2:后台将请求放入消息队列,等待处理,返回给用户一个临时结果 step3:用户看到临时的结果,真正的请求在后台等待处理

    1.8K30发布于 2021-04-09
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(五)

    分布式实时消息队列Kafka(五) 知识点01:课程回顾 一个消费者组中有多个消费者,消费多个Topic多个分区,分区分配给消费者的分配规则有哪些? step1:生产者提交写入请求给Kafka:Topic、K、V step2:Kafka根据Topic以及根据Key的分区规则,获取要写入的分区编号 step3:Kafka要获取元数据【ZK】找到对应分区所在的 step1:消费者消费请求提交Kafka:Topic、Partition、Offset step2:根据Topic以及Partition来获取要读取的分区编号 step3:根据分区编号从元数据中找到这个分区对应的 当前这个分区所有副本同步的最低位置 + 1,消费者能消费到的最大位置 LEO:当前Leader已经写入数据的最新位置 + 1 数据写入Leader及同步过程 step1:数据写入分区的Leader副本 step2: 目标:了解消息队列的三种一次性语义 路径 什么是一次性语义?

    1.2K40编辑于 2021-12-07
  • 来自专栏最新最全的大数据技术体系

    分布式实时消息队列Kafka(二)

    分布式实时消息队列Kafka(二) 知识点01:课程回顾 什么是消息队列? 用于两个系统之间或者两个模块之间实现消息传递,基于队列机制实现数据缓存 消息队列的优点是什么? 实现解耦 通过异步,提高性能 消息队列的缺点是什么? Kafka是一个基于订阅发布模式的高性能、高吞吐的实时消息队列系统 Kafka在大数据的应用场景是什么? 用于实时架构中:实现数据的临时存储 Kafka中的Producer、Consumer、Consumer Group 、Broker分别是什么? 知识点08:生产者及消费者测试 知识点09:可视化工具Kafka Tool 目标:了解Windows版可视化工具Kafka Tool的使用 路径 step1:安装Kafka Tool step2

    70020编辑于 2021-12-07
  • 来自专栏开源技术小栈

    MQTT 与 PHP 使用实时消息传递指南

    client disconnect') ->setLastWillQualityOfService(1); 订阅 程序订阅 emqx/test 的 topic,并为订阅配置回调函数来处理接收到的消息 message on topic [%s]: %s\n", $topic, $message); }, 0); 发布 构造一个有效负载并调用 publish 函数将消息发布到 emqx/test 主题 发布后,客户端需要进入轮询状态来处理传入的消息和重传队列: for ($i = 0; $i< 10; $i++) { $payload = array( 'protocol' => 'tcp MQTT 主题以及接收实时消息。 这是使用 PHP 和 MQTT 构建功能强大的实时应用程序的基础步骤。

    60510编辑于 2025-07-24
  • 来自专栏架构师之路

    webim如何用轮询保证消息绝对实时

    webim如何使用http长轮询保证消息的绝对实时性 一、webim如何实现消息推送 webim通常有三种方式实现推送通道: 1)WebSocket 2)FlashSocket 3)http轮询 其中1 )和2)是用Tcp长连接实现的,其消息实时性很好理解,但这两种方案都存在一些局限性,不通用。 1)的情况下,如果http消息连接被断开,立马再发起一个http消息连接【见下图中的步骤1、2】 ? ,根据2)和3)会立马返回新的消息连接,无等待时间),将消息带回,并又立刻返回生成新的消息连接【见下图中的步骤1、2、3、4、5、6、7】 ? 上述1-4就能够保证一直有一条http消息连接在,以保证webim消息推送的绝对实时性。 四、结论 webim通过http长轮询可以保证消息的绝对实时性。

    1.9K70发布于 2018-03-01
领券