• a、
    2019-09-26
    5副本,10个分区,至少保持isr集合中有三个broker

    bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 5 --partitions 10 --topic test 

    min.insync.replicas=3
    展开

    作者回复: 👍👍👍

    
     6
  • 郑勺子
    2019-09-17
    请问老师~可用于消息中间性能测试的工具有哪些~

    作者回复: 你可以参考一下这个:https://github.com/openmessaging/openmessaging-benchmark/

    
     3
  • WL
    2019-10-13
    请问一下老师,kafka消息复制中,“Broker只是副本分区的容器,Broker不分主从” 这句话具体怎么理解? 是指一个Broker上可能有Topic1的partition2的从副本和Topic2的partition1的主副本,所以在Broker上不分主从,是这样吗?

    作者回复: 没错,就是这样的。

    
     2
  • 业余草
    2019-09-16
    没有完美的方案,我相信JMQ也是这样。高性能,高可用本身和一致性就是一个矛盾体。
    
     2
  • 樱花落花
    2019-09-16
    采用RocketMQ Dledger 5副本复制方式,那就是最多允许宕机两台,因为要求半数以上;broker的设置我觉得一样就行,所以:kafka 配置5台broker,一个主题50个分区,ISR算上leader副本至少是3;
    
     1
  • kiddkidd
    2020-01-11
    老师,对于文中“由于消息要至少复制到 2 个节点上才会返回写入成功,即使主节点宕机了,也至少有一个节点上的消息是和主节点一样的”我有个疑问:
    假如1主2从3副本条件下,主收到msg1,并复制到从1,之后主又收到msg2,并复制到从2. 然后主节点宕机了,此时从1和从2都跟主不一样啊。请问如何理解?

    作者回复: 消息的复制是按照顺序来复制的,因为msg2在msg1后面,如果说,msg2已经复制到从2上,那从2上一定有msg1,所以不存在你说这种情况。

    
    
  • 夏目
    2020-01-09
    老师,这种不是同步方式吗?-- Kafka 在写入消息的时候,采用的也是异步复制的方式。消息在写入到主节点之后,并不会马上返回写入成功,而是等待足够多的节点都复制成功后再返回。

    作者回复: 从请求响应角度来说,是同步请求。
    实现方式上,采用的是异步方式来实现的。

    
    
  • 饭粒
    2019-11-16
    请教下老师,kafka 使用时是一个节点对应一个 broker 吗?然后 broker 作为分区副本容器存放不同主题-分区的主/从副本。

    作者回复: 是这样的。

    
    
  • 成立-Charlie
    2019-11-05
    老师, 关于Kafka的高可用性我有一点迷惑。因为kafka是使用zookeeper作为其集群服务的协调服务器,Zookeeper采用超过半数可用的原则,3台Zookeeper集群只允许一台宕机。那Kafka却可以实现只有一台存活,仍然可以提供服务,这是如何实现的呢,Kafka可以脱离Zookeeper工作吗。谢谢!

    作者回复: 你这些问题在第24节课中,会有详细的说明。

    
    
  • 旭东
    2019-10-21
    如果只记住一句话,那就是“目前并没有一种完美的实现方案能够兼顾高性能、高可用和一致性”。

    世界本无完美,只有追求完美的人

    作者回复: 倒没有上升到这么哲学的高度,但架构设计更多的情况就是在权衡和取舍,找到最适合项目的设计方式。

    
    
  • WL
    2019-10-13
    请问一下老师,我看RocketMQ官微上说DLedger只做一件事就是Commitlog,上面用Etcd对Raft协议的实现做对比,说Etcd对于Raft的实现时StateMachine+CommitLog的方式,CommitLog记录日志和操作记录,StateMachine通过操作记录构建出来的系统状态,请问一下在DLedger中的系统状态是怎样判定的?

    作者回复: Dledger中只做Log复制,它没有状态,或者说它的状态就是Log,所以不需要状态机。

    
    
  • K-Li
    2019-09-23
    5个broker 10个partition 5复制 isr设置3 ack为-1
    
    
  • 吟游雪人
    2019-09-20
    kafka的配置应该是:
    ack=all
    min.insync.replicas=3
    replication.factor=5
    一个topic, 50个分区采用默认轮询的机制

    这样应该能达到题目中的一致性和可用性
    展开
    
    
  • leslie
    2019-09-15
    发现学习老师的课程其实蛮辛苦的:回答题目要查资料的。Rocket的Dledger是5个需要保证3个可用,kafka的ISR同样的答案。
         我觉得老师在讲解Kafka的ISR过程中露了一张图:kafka领导者的副本机制图,老师如果把图放上了,题目就出不来了-答案全部在这张图上了^_^
        感谢老师过节还努力的分析知识:过个节漏课了:今天补课跟上老师的步伐。期待老师下节课的精彩分享。
    
    
  • lmtoo
    2019-09-14
    1.kafka集群配置broker数量为5
    2.创建主题的时候,指定分区数量为50、分区副本数为5
    3.每个分区的ISR数量为3
    
    
我们在线,来聊聊吧