![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
kafka
kafka
一只叫狗的猫
空中楼阁
展开
-
消息队列面试问题
为什么要使用消息队列 如果能结合自己做过的项目说明,那是最好的。 解耦。 削峰 异步 消息队列缺点 系统可用性减低。本来只需要维护业务系统,现在还需要维护消息系统 复杂度上升。通上 一致性问题。可能会出现各个业务系统数据不一致的情况。 消息重复原因 生产者发送数据后,消息系统写入消息后,由于宕机或者返回超时等问题,导致生产者重试发送。 消费者获取到消息后,由于消...原创 2020-02-16 23:20:15 · 237 阅读 · 0 评论 -
kafka内部工作机制
集群中成员关系 kafka使用zookeeper来维护成员信息。没个broker都有唯一的id,这个标识可以在配置文件中配置,在broker启动的时候,它会创建临时的节点把id注册到zookeeper中,当有其他broker加入集群中时,会判断是否已经有这个id,如果有相同的id则会注册失败。 当broker宕机的时候,broker创建的临时节点会从zookeeper中移...原创 2020-02-16 23:20:36 · 282 阅读 · 0 评论 -
kafka消费者
消费者群组 消费者属于消费者群组(当然消费者也可以不属于任何群组,作为独立者),一个主题下的分区可以关联多个群组,但是只能被该群组下的一个消费者使用。如果一个群组里的消费者的数量超过了主题的分区,那么就会有一部分消费者处于闲置状态,不会受到任何消息。 分区再均衡 消费者通过向服务器发送心跳来维持它和分区的关系,如果长时间不发送心跳,那么服务器就会认为它已经死...原创 2020-02-16 23:19:50 · 108 阅读 · 0 评论 -
kafka生产者
发送消息流程 生产者会创建一个ProducerRecord对象,该对象中包含主题和消息,也可以指定键和分区。在发送消息时候,生产者会将键和值序列化。 然后数据会传递给分区器,如果没有指定分区,那么分区器会根据键去选择一个分区,选好分区之后,这条消息会添加到一个批次中,当达到批次发送条件的时候,这个批次的数据会发送到指定的主题和分区上。 服务器接收到数据之后,会给...原创 2020-02-16 23:18:54 · 96 阅读 · 0 评论 -
kafka介绍
kafka简介 kafka是一个流平台,在这个平台上可以发布和订阅数据流,并将它们保存起来进行处理。它有点像消息中间件,但是它和传统的消息中间件有着很大得差异,消息系统只会传递数据,而ka'f'ka的流处理能力可以让我们高效的处理数据。它可以存储和持续处理大型的数据流。 基本概念 消息和批次 消息就不用多说。 批次是一组消息,这些消息属于同一主题...原创 2020-02-16 23:17:38 · 126 阅读 · 0 评论