【问题标题】:Why do I get a timed out error in my due time job queue?为什么我的到期作业队列中出现超时错误?
【发布时间】:2016-05-16 22:44:50
【问题描述】:

我有一个类似队列的列族,大约每小时更新一次。几个小时或一天后,cassandra 有很多读取超时。 我使用 Cassandra 收到此错误消息:

code=1100 [Coordinator node timed out waiting for replica nodes' 
responses] message="Operation timed out - received only 0 responses." 
info={'received_responses': 0, 'required_responses': 1, 'consistency': 'LOCAL_ONE'}

也许我不应该使用 Cassandra,而是使用 Kafka 或 RabbitQM 来处理这些到期时间,比如队列。关于我应该使用哪些其他解决方案的任何建议?如果我使用Kafka等,恐怕会出现同样的问题。

谢谢

【问题讨论】:

  • 此时的查询跟踪将有助于诊断。

标签: cassandra apache-kafka datastax


【解决方案1】:

我并不完全清楚“大约每小时频繁更新”是什么意思,但是由于您提到了队列模式,人们可能会猜测它正在超时读取墓碑单元格。在 Cassandra 中创建队列工作负载存在足够多的陷阱,以至于它已成为一个记录在案的反模式。 Here is a good article 解释问题。

如果您必须将 Cassandra 用于队列,请考虑使用或研究旨在缓解已知缺陷的项目。 CassieQ 就是一个例子。

【讨论】:

  • 谢谢!如果我不使用 cassandra,那么队列中 cassandra 的更好替代品是什么?
  • 我需要一个延迟的任务队列,但我不知道 cassieQ 或其他解决方案是否支持这个。我想在 1 小时或更长时间后安排我的工作队列。对此有什么想法吗?谢谢
  • 我无法在 SO cmets 中进行系统设计。通常,如果您的环境中已经有 Cassandra 并且您不添加更多服务,您只会选择将 Cassandra 用于队列。除此之外,还有大量的队列/消息传递选项——Kafka、ActiveMQ、ZeroMQ、RabbitMQ、MSMQ——在这里无法列出。您的正确选择取决于您的平台、系统设计和部署模型。
猜你喜欢
  • 2021-03-07
  • 2022-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-17
  • 1970-01-01
  • 2022-06-15
  • 1970-01-01
相关资源
最近更新 更多