redis - Redis 发布/订阅。客户端接收消息时抛出的错误会影响发送消息的服务器吗?
问题描述
我正在使用graphql-apollo。客户端订阅一些消息,服务器使用 redis 将它们发送给客户端。
如果在客户端 updateQuery 中抛出错误但未被捕获,那会以某种方式影响发布消息的服务器函数的运行吗?该服务器功能是否会崩溃或无法正确完成?
谢谢。
解决方案
它不应影响发件人的推送/发布功能。通过 PUB/SUB 发布的消息不会被持久化,所以一旦你消费了,无论消费者发生什么,你都必须消费,它不能被放回去。
这也意味着,如果您使用 Redis PUB/SUB 发送/接收消息,那么消息可能会由于消费者连接而丢失,如果消费者关闭一段时间,那么在该窗口中发送的所有消息都会丢失。
推荐阅读
- javascript - 使用主题道具的玩笑/酶测试不起作用
- java - 集合元素映射对于 Map 类型的列的列数错误
- automated-tests - cypress 中的测试是如何组织的
- module - 如何从父文件夹或同级文件夹模块访问模块?
- mysql - 如何在数据存储中存储大量 Python 字典并对其进行过滤/查询?
- windows - 使用 GCC/cmake 生成 DEF 和 .A 文件
- android - 滑动刷新布局下的 RecyclerView 未在嵌套滚动视图中显示
- javascript - 如何在 React 中传递多个键及其 HTML 标签属性
- javascript - Javascript AzureAd 消费休息服务
- point-cloud-library - 当前对 CUDA for PCL 的开发支持