实时应用新手-Node.JS + Redis或RabbitMQ->客户端服务器如何?

实时应用新手-Node.JS + Redis或RabbitMQ->客户端服务器如何?,第1张

实时应用新手-Node.JS + Redis或RabbitMQ->客户端/服务器如何?

从结构上讲,这两种选择都与将数据存储在Oracle数据库服务器中以供另一个应用程序检索相同。

RabbitMQ和Redis解决方案都要求您的应用程序连接到处理数据通信的中间服务器。Redis最像Oracle,因为它可以简单地用作具有网络API的持久数据库。但是RabbitMQ有所不同,因为MQ
Broker并不真正负责持久化数据。如果您配置正确并在发布消息时使用正确的选项,那么RabbitMQ实际上将为您保留数据,但您不能取出数据,除非作为正常消息排队过程的一部分。换句话说,RabbitMQ用于传递消息,并且仅提供持久性作为从网络问题或系统崩溃中恢复的一种方式。

我建议您使用RabbitMQ以及您已经熟悉的任何编程语言。由于LAMP中的M通常被解释为MySQL,这意味着您要么根本不使用MySQL,要么仅将其用于数据的长期存储,而不用于实时通信。

RabbitMQ网站上有大量有关使用AMQP构建应用程序的文档。我建议您在安装RabbitMQ之后,仔细阅读的文档

rabbitmqctl
,然后创建一个
vhost
要进行实验的方法。这样一来,无需重置所有内容即可轻松清理实验。我还建议仅使用主题交换,因为您可以通过在routing_key中使用通配符来模拟直接交换和扇出交换的行为。请记住,您只发布要交换的消息,并且只从队列接收消息。交换负责将消息的routing_key与队列的binding_key进行模式匹配,以确定哪些队列应接收消息的副本。值得学习整个AMQP模型,即使您仅打算将消息发送到一个与routing_key同名的队列。

如果要在浏览器中构建客户端,并且要构建原型,则应该考虑立即使用XHR,然后再转到Kamaloka-
js之类的东西,它是AMQP(AMQ协议)的纯Javascript实现,是用于与RabbitMQ消息代理进行通信的标准协议。换句话说,用您今天所了解的知识来构建它,然后在以后加快它在工具箱中具有长期前景的东西(AMQP)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4973441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-13

发表评论

登录后才能评论

评论列表(0条)

保存