Questions tagged «publish-subscribe»

4
观察者,发布/订阅和数据绑定之间的区别
观察者模式,发布/订阅和数据绑定之间有什么区别? 我在Stack Overflow上进行了一些搜索,没有找到任何好的答案。 我已经相信数据绑定是一个通用术语,并且有多种实现它的方式,例如观察者模式或发布/订阅模式。通过观察者模式,观察者更新其观察者。使用发布/订阅,0个发布者可以发布某些类别的消息,0个订阅者可以订阅某些类别的消息。 还有其他实现“数据绑定”的模式吗?

7
为什么要使用Publish / Subscribe模式(在JS / jQuery中)?
因此,一位同事向我介绍了发布/订阅模式(在JS / jQuery中),但是我很难理解为什么人们会在“常规” JavaScript / jQuery上使用这种模式。 例如,以前我有以下代码... $container.on('click', '.remove_order', function(event) { event.preventDefault(); var orders = $(this).parents('form:first').find('div.order'); if (orders.length > 2) { orders.last().remove(); } }); 例如,我可以看到这样做的优点。 removeOrder = function(orders) { if (orders.length > 2) { orders.last().remove(); } } $container.on('click', '.remove_order', function(event) { event.preventDefault(); removeOrder($(this).parents('form:first').find('div.order')); }); 因为它引入了removeOrder针对不同事件等重复使用功能的能力。 但是,如果执行相同的操作,为什么还要决定实现发布/订阅模式并采用以下长度呢?(仅供参考,我使用jQuery tiny pub / sub) …

3
Faye vs.Socket.IO(和剑圣)
Socket.IO似乎是最受欢迎和最活跃的WebSocket仿真库。剑圣使用它来创建一个完整的发布/订阅系统。 Faye也很流行,也很活跃,并且拥有自己的JavaScript库,使其完整功能可与Juggernaut媲美。剑圣使用节点作为其服务器,而Faye可以使用节点或机架。剑圣使用Redis进行持久化(更正:使用Redis进行发布/订阅),Faye仅将状态保留在内存中。 以上所有内容都准确吗? Faye表示它实现了Bayeux-我认为Juggernaut不会这样做-是因为Juggernaut的级别较低(即,我可以使用Juggernaut来实现Bayeux) 如果愿意,Faye是否可以切换到使用Socket.IO浏览器JavaScript库?还是他们的JavaScript库在根本上做不同的事情? 项目之间是否还有其他建筑/设计/理念差异?

2
Redis和Kafka之间的区别
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2个月前关闭。 改善这个问题 Redis可以像Kafka一样用作实时发布订阅。 我很困惑何时使用哪个。 任何用例都会有很大的帮助。

4
了解流星发布/订阅
我有一个简单的应用程序设置,其中显示了的列表Projects。我已经删除了该autopublish程序包,以便不将所有内容发送给客户端。 <template name="projectsIndex"> {{#each projects}} {{name}} {{/each}} </template> 当autopublish被打开,这将显示所有的项目: if Meteor.isClient Template.projectsIndex.projects = Projects.find() 将其删除后,我还必须执行以下操作: if Meteor.isServer Meteor.publish "projects", -> Projects.find() if Meteor.isClient Meteor.subscribe "projects" Template.projectsIndex.projects = Projects.find() 那么,可以说客户端find()方法仅搜索从服务器端发布的记录是否准确?之所以让我绊倒是因为我觉得我应该只打find()一次电话。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.