深入拆解消息队列 47 讲
许文强
前腾讯云 Kafka 技术负责人
5385 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 50 讲
深入拆解消息队列 47 讲
15
15
1.0x
00:00/00:00
登录|注册

34|WebSocket:如何在消息队列内核中支持WebSocket?

你好,我是文强。
这节课我们来看一下如何在消息队列内核中支持 WebSocket。如果你以前了解过 WebSocket,就知道 WebSocket 是一个协议。我们在第 03 讲中讲过,消息队列在自身私有协议的基础上,还会支持像 HTTP 这样的公有协议。
那为什么需要支持 WebSocket 协议呢?又是如何支持的?带着这两个问题,我们开始今天的课程。

WebSocket 是什么

首先,我们来了解一下 WebSocket 是什么。
WebSocket 是一种基于 TCP 传输协议的应用层协议,它设计的初衷是解决 Web 应用程序中的实时双向通信问题。它跟 HTTP 协议一样,也是一种标准的公有协议。所以它也有协议头、协议体、数据帧格式、建立连接、维持连接、数据交换等等各个细节。
这里网上的资料有很多,就不展开细讲了。你只要记住一个重点:WebSocket 是一个可以在浏览器中使用的支持双向通信的应用层协议,就可以了。
那什么是双向通信呢?

双工(双向)通信

回答这个问题之前,我们来回顾一下计算机网络基础中的单工通信和双通通信。
单工通信指的是数据只能在一个方向上传输,而不能在另一个方向上传输。例如,广播电台只能向接收者发送信息,接收者无法向电台发送信息,这是单工通信的一种。
双工通信指的是数据可以在两个方向上传输。例如,电话通信就是双工通信的一种,通话双方可以同时说话和倾听对方的声音。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

WebSocket 协议是一种基于 TCP 的应用层协议,旨在解决实时双向通信问题。它具有持久化连接、全双工通信、低带宽开销、与 HTTP 兼容和跨域通信等特点,使其成为高度实时性和低延迟场景的理想解决方案。本文深入浅出地介绍了 WebSocket 协议的特性、应用场景以及在消息队列内核中的支持方式。文章还提到了 WebSocket 客户端使用示例和 WebSocket 协议与消息队列的关系,强调了消息队列需要支持 WebSocket 协议的重要性。此外,文章还介绍了 WebSocket 协议和 MQTT Broker 结合的优势,并详细阐述了在消息队列内核中支持 WebSocket 协议的四部分工作。另外,Pulsar 和 RabbitMQ 是目前业界主流消息队列中支持 WebSocket 协议的代表。总的来说,本文通过介绍 WebSocket 协议的特性和消息队列内核中的支持方式,为读者提供了对 WebSocket 协议及其在消息队列中的应用的全面了解。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入拆解消息队列 47 讲》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部