我经常混淆 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/