• 吴贤龙
    2020-01-08
    感觉应该是Sql的读是真的只读,可以无任何操作,消息的读不同,读取并消费完之后,是必须要做相应的处理,标记为已读或其他操作,等同于更新,所以只能放在master上读
    
     2
  • _funyoo_
    2020-01-08
    在我看来,消息队列的主从和mysql的主从本来就不一样

    Mysql:主库写,从库只支持读,只需要主库写入数据从库同步就行
    Kafka:主分区写,从分区同步。不能从从分区读是因为从从分区读可能会丢消息。

    举例子来说:

    当主分区写入消息,同步至从分区时:
    如果有的从分区写入了,有的因为网络或者掉线没有写入成功。到第二条消息过来又需要同步时,这次某个第一次因为网络等原因未同步上的从分区这次又同步上了新消息,消费者如果从这个从分区消费,就会丢消息。

    可能有人说,那我同步的时候,就要求给所有从分区全部同步后再给生产者返回结果不行吗?
    倘若,有从分区所在机器挂了,同步就卡死在这了
    展开
    
     2
  • 颜青青
    2020-01-10
    老师,请教您一个问题。我看文章里说,所有消费者是“瓜分”订阅主题的数据。我这边一个生产者,产生数据A,我希望N个消费者都能收到A去进行消费,比如消费者1把A存mysql,消费者2把A存redis,只是他们的处理逻辑不同。这种业务场景,kafka能满足吗?
     1
     1
  • lianjoke
    2020-01-10
    个人观点:
    允许追随者副本对外提供读服务 还是为了增加并发,提高读取效率和吞吐量。但Kafka已经通过顺序读取,消费者组等方法已经达到较高的吞吐和读性能的目的,已无需Follower副本对外提供服务,这样反而会增加Broker的负担,降低整体的读写性能。
    
     1
  • 遇黑则明16619751287
    2020-01-09
    读写分离是为了解决锁冲突、提高效率,KafKa没有读写冲突的问题。如果读追随者副本又该读哪个呢,索性读领导者
    
     1
  • 老杨
    2020-01-08
    最后的思考题应该跟消费者位移有关吧。leader&follow如果都能对外提供服务,消费者位移在同步时可能产生冲突
    
     1
  • 小白
    2020-01-08
    因为kafka生产消费一般用的是实时性,副本如果可读,第一个问题是数据一致性。
    如果是实时推送,领导者里有消息,追随者里还没来得及同步过来,而消费者从追随者就拿不到消息了。
    第二个问题是消费者会出现一会有数据一会没数据,因为消费者从不同的追随者读,可能有的追随者同步了数据,有的还没同步过来。
    在kafka里,追随者同步的数据主要用于领导者挂了后,重新再选一个追随者。
    这是我的理解,不足之处请指出
    
     1
  • mickey
    2020-01-20
    需要保证消息被消费的唯一性,减少系统的复杂性
    
    
  • 张y
    2020-01-19
    kafka支持消费者组并发读取,但是会顺序消费Offset(其实也还是类似同步),如果一旦支持追随者读取,将需要多向(同步数量=所有副本数)同步Offset消费情况。管理会很混乱,且影响TPS。
    
    
  • 龙云
    2020-01-08
    读副本涉及到主从同步延迟的问题,为了保证时效性,不从主读数据
    
    
  • 宝仔
    2020-01-08
    MySQL其实也不是一定能够允许追随者副本提供对外读服务的把,如对数据库数据一致性有高要求的就不行了,毕竟主从复制可能会有延迟的情况发生。
    
    
  • Geek_plb
    2020-01-08
    啦啦啦
    
    
  • Rocky
    2020-01-08
    纯新人,想问问Exception thrown when sending a message with key='null' and payload 这个怎么解决?每次只能重启kafka换topic才能解决
    
    
我们在线,来聊聊吧