javascript - JavaScript 中的 pub/sub 模式与 websocket 的比较

标签 javascript publish-subscribe

我经常混淆 pubsub 设计模式与 websocket 等协议(protocol)。当响应式(Reactive)编程等新术语出现时,我变得更加困惑。对我来说,WebSocket 是一种 pubsub,但我不知道除了 WebSocket 之外,我是否想探索更多有关 pubsub 模式的信息。

如果它是前端,我不必使用外部库来执行 pubsub,因为我对像 React 这样的任何框架的状态管理在某种程度上已经是 pubsub 了..

我的问题是什么是 javascript 中的 pubsub 以及它的实用性是什么

最佳答案

将 WebSocket 视为一种运输方式,就像飞机一样。它解决了让客户端和服务器实时对话的问题(例如聊天应用程序、通知等)。还有其他方法,例如长短轮询(总线)或服务器发送事件(火车)。

PubSub 是一种关于系统各部分如何通信的设计模式。这就像地铁/飞机系统(比如捷蓝航空、达美航空、纽约地铁系统等)。如今处理 PubSub 的常用工具是 Kafka 和 Redis。一些后端工程师可以通过设计架构良好、可靠的 PubSub 系统来构建整个职业生涯。这可能是一个非常困难的问题。

响应式(Reactive)编程(RxJS)是一种编程风格,类似于过程式/函数式/声明式编程都是独特的风格。它通常用于高度交互的应用程序,其中客户端需要根据多个事件实时更新(例如在线比特币交易平台,或向网络应用程序添加热键)。

关于javascript - JavaScript 中的 pub/sub 模式与 websocket 的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61775317/

相关文章:

javascript - 在 GridView DevExpress 中添加操作

javascript - Highcharts |自定义绘图选项->系列->数据标签

node.js - PubSub 服务器示例 : How are messages broadcast?

javascript - array from parameter comes to parameters 参数数组

redis - 进入 "subscribe"模式后如何发出 "pub/sub"命令?

javascript - sessionStorage 与 cookie 中的 JWT token ?

javascript - 使用盐对 id 进行编码/解码

javascript - 在 Javascript 中使用函数作为类似 C# 的属性来访问私有(private)数据是一个好习惯吗?

javascript - 如何根据属性正确处理订阅

ruby - 我如何找出谁连接到 ActionCable?