根据最近的一篇文章,Kafka可以在复制配置下删除已确认的消息:
https://aphyr.com/posts/293-call-me-maybe-kafka
如果必须绝对确定消息已发送给消费者,此解决方案是否在所有情况下都有效:
即使在丢弃消息的情况下也能工作吗?这个图案有名字吗?
这似乎有点过度设计。这就足以跟踪消费者侧的偏移量,或者根据您认为是下游系统成功的消息处理来决定是否偏移。Aphyr发现的大脑分裂问题(我认为是在0.8.2.0中)通过不干净得到了解决。领导选举启用
设置,您需要将其设置为假
(默认值为真
,因为这是万不得已的措施)。
您还应该查看ack
生成器配置设置,该设置确定有多少同步副本需要确认写入才能被视为成功。
您可以在页面底部附近阅读更多关于这些设置和Kafka提供的一般交付保证。
PS:也许值得追踪这个问题。
希望有帮助:)
我们有kafka集群,包含3个kafka代理节点和3个zookeepers服务器 Kafka版本- 10.1 ( hortonworks) 根据我的理解,因为所有的元数据都位于zookeeper服务器上,kafka代理正在使用这些数据(kafka通过端口2181与zookeeper服务器对话) 我只是想知道是否每台kafka机器都与集群中的其他kafka交谈,或者kafka可能只在动物园管理员服务
问题内容: 我对SQL(Server2008)的较低层次的了解是有限的,现在我们的DBA对此提出了挑战。让我解释一下这种情况:(我已经提到一些明显的陈述,希望我是对的,但是如果您发现有问题,请告诉我)。 我们有一张桌子,上面放着人们的“法院命令”。创建表(名称:CourtOrder)时,我的创建方式如下: 然后,我将非聚集索引应用于主键(以提高效率)。我的理由是,这是一个唯一字段(主键),应该像我
我已经在集群中配置了3个kafka,我正在尝试与sping-kafka一起使用。 但是在我杀死kafka领导者后,我无法发送其他消息到队列。 我将Spring.kafka.bootstrap-servers属性设置为:“kafka-1:9092;kafka-2:9093,kafka-3:9094”以及我的主机文件中的所有名称。 Kafka0.10版 有人知道如何正确配置? 编辑 我测试过一个东西,
我想建立一个多kafka集群,大约有3个zookeeper实例,每个集群中有3个kafka代理,每个kafka经纪人大约有5个主题和5个分区。有什么设置指南可以参考吗? PS:我可以找到带有多个Kafka代理的单个zookeeper实例的信息,但不能找到带有多个zookeeper实例的设置。
假设我有一个多主innodb集群(只有2个数据节点),其中客户机通过mysql路由器发出请求。假设数据库中某个表上的特定行几乎同时由两个客户端在两个节点上更新。现在两个节点在同一行中都有不同的数据。如何在多主机innodb集群中协调这些冲突?
有关Kafka群集体系结构,请看下面的结构图。 它显示了Kafka的集群图。 下表描述了上图中显示的每个组件。 Broker - Kafka集群通常由多个代理组成,以保持负载平衡。 Kafka经纪人是无状态的,所以他们使用ZooKeeper维护他们的集群状态。 一个Kafka代理实例可以处理每秒数十万次的读写操作,每个Broker都可以处理TB消息,而不会影响性能。 Kafka经纪人的领导人选举可