- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Kafka引入了rack-id,以便在整个机架发生故障时提供冗余功能。有一个最小同步副本设置,用于指定生产者收到确认之前需要同步的最小副本数量(-1/所有配置)。有一个不干净的领导者选举设置,用于指定在不同步时是否可以选举领导者。
因此,考虑到以下情况:
旨在实现至少一次消息传递、节点冗余并容忍机架故障。
是否有可能在某个时刻,两个同步副本都来自机架 1,因此生产者收到一个确认,并且此时机架 1 崩溃(在来自机架 2 的任何副本同步之前)?这意味着机架 2 将只包含不干净的副本,并且没有生产者能够将消息添加到基本上停止的分区。副本将是不干净的,因此在任何情况下都无法选出新的领导者。
我的分析是否正确,或者是否有什么东西可以确保形成最小同步副本的副本必须来自不同的机架?
由于同一机架上的副本具有较低的延迟,因此上述情况似乎很可能发生。
场景如下图所示:
最佳答案
为了在技术上正确,您应该修正一些问题的措辞。不同步的副本不可能“可用”。此外,最小同步副本设置还指定分区需要保持同步以保持可写入的最小副本数。当生产者指定 ack(-1/所有配置)时,它仍然会等待当时所有同步副本的确认(与最小同步副本的设置无关)。因此,如果您在 4 个副本同步时发布,则除非所有 4 个副本都提交消息(即使最小同步副本数配置为 2),否则您将不会收到确认。仍然可以构建一个与您的问题类似的场景,通过首先使机架 2 中的 2 个分区不同步来突出显示相同的权衡问题,然后在机架 1 中只有 2 个 ISR 时发布,然后关闭机架 1。在这种情况下,这些分区将无法读取或写入。因此,解决此问题的最简单方法是将最小同步副本数增加到 3。另一个容错性较差的修复方法是将复制因子降低到 3。
关于apache-kafka - Kafka 机架 ID 和最小同步副本数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45778455/
Kafka引入了rack-id,以便在整个机架发生故障时提供冗余功能。有一个最小同步副本设置,用于指定生产者收到确认之前需要同步的最小副本数量(-1/所有配置)。有一个不干净的领导者选举设置,用于指定
Kafka引入了rack-id,以便在整个机架发生故障时提供冗余功能。有一个最小同步副本设置,用于指定生产者收到确认之前需要同步的最小副本数量(-1/所有配置)。有一个不干净的领导者选举设置,用于指定
我正在尝试使用 Sinatra、Ruby、rack、haml、pony 和 SendGrid 构建一个应用程序,并使用 git 和 RVM 部署在 Heroku 上。该应用程序是一个博客变体,应该发送
我正在尝试将 Rack OAuth-2 server 集成到我的 sinatra 应用程序中,以便在 web-server flow implementation 中使用它,但我无法使其工作:(。我在
我按照这些说明为 Rails 3.07 安装了 rack ssl:http://www.simonecarletti.com/blog/2011/05/configuring-rails-3-http
我在我的 Rails 3.1 应用程序中使用 Rack::SSL 来启用 SSL 连接。 我已将 gem 'rack-ssl' 添加到我的 Gemfile 和 require 'rack/ssl' c
当我尝试将未分配的辅助分片分配给节点时出现错误。 { "error": { "root_cause": [ { "type": "remote_transpor
我是一名优秀的程序员,十分优秀!