【问题标题】:pub/sub pattern in javascript versus websocketjavascript 与 websocket 中的 pub/sub 模式
【发布时间】:2020-05-13 13:00:20
【问题描述】:

我经常将 pubsub 设计模式与 websocket 之类的协议混淆。当新的术语像反应式编程一样出现时,我变得更加困惑。对我来说,就像 WebSocket 是一种 pubsub,但如果我想探索更多关于 pubsub 模式的信息,我不知道 WebSocket 之外的东西。

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

【问题讨论】:

  • 您有问题吗?
  • @jmargolisvt 我的问题是javascript中的pubsub是什么,它的实用性是什么。
  • 请添加指向您在谷歌上搜索但无法向您解释的资源的链接。在您的问题中添加具体细节,说明您从这些资源中不清楚的地方。
  • WebSocket 首先是一种传输方法。 PubSub 是一种分发信息的模式。您在 WebSockets 中发送和接收数据的方式类似于 PubSub 模式的工作方式,但与您通常期望的 PubSub 模式的粒度不同。原因是 WebSockets 是基于事件的,同样适用于 pubsub。

标签: javascript publish-subscribe


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 2016-06-02
    • 1970-01-01
    相关资源
    最近更新 更多