城乡中国(上)

城乡中国(上)

加载中...

微信扫码,免登录解锁高速下载

如何使用 & 隐私说明

精彩点评

  • 城乡中国(上)
    海亮
    推荐

    适合对kafka已经比较熟悉的人读,对于初学者,更多概念理解比较晦涩一点。

  • 城乡中国(上)
    时彬斌
    推荐

    kafka的不错的书籍,从原理到应用,到扩展使用,可谓方方面面一应俱全;书中原理和示例结合,深入浅出很不错

  • 城乡中国(上)
    黄金
    推荐

    这本书由浅入深地介绍了Kafka的概念和原理,是一本非常好的入门书籍。在本书的第一章的第一节,就说明了Kafka的基本概念,包括主题、分区、副本、ISR、HW和LEO等等,让读者快速建立对Kafka的全面认识。在后续的多个章节中又对这些概念一层层的展开,第四章主题和分区会谈到怎么让分区和副本在Kafka集群中均衡分布,第五章日志存储会谈到主题和分区的物理结构,第八章可靠性探究会从保障可靠性的角度把很多概念串联起来。这本书除了介绍Kafka,也谈了一些有趣的话题,比如通过磁盘存储消息是不是一定比内存存储消息慢?如何设计一个插入和删除效率都为O(1)的定时器?这些问题折射了Kafka的性能,也帮助我加深了对技术的理解。

  • 城乡中国(上)
    深情
    推荐

    书是好书,就是太过于执着于细节,以及讲解了过多的参数,脚本之类的东西,没有章节性,理解性的总结。第一遍看完之后总是差那么点意思。         建议看第二遍的时候自己再去整体上总结一 下,效果就好很多

  • 城乡中国(上)
    君陌等于二
    推荐

    很有细节,介绍了不少kafka实际使用的权衡点,“没有最好的消息中间件,只有合适的消息中间件”。 kafka已经是大数据应用里不可或缺的组件了,在数据采集和实时数仓的场景下都扮演重要角色。设计确实良好,磁盘顺序写、页缓存、零拷贝保证了高吞吐量、低延迟,分区设计保证了高效的水平扩展,多副本主从主写在保证可用性和可靠性的同时还能较好的负载均衡,而以磁盘为主要存储提供了较rabbitMQ更好的消费堆积能力

  • 城乡中国(上)
    shawn
    推荐

    模块划分的很细致,很容易找到自己感兴趣的部分,内容也比较细节

  • 城乡中国(上)
    Iew
    推荐

    由浅入深,除了知道如何使用和功能介绍外能学习到经验性的东西和相关算法知识。后半段transaction的部分略仓促。

  • 城乡中国(上)
    俊采兴驰
    推荐

    同意之前一位朋友的评论。要么讲原理,要么分析源码,要么讲使用。揉在一起,定位不清,看的也抓不住作者想说的重点。甚至不知道他重点想说啥。

  • 城乡中国(上)
    孙雄飞(中易)
    推荐

    2020 No.021 作者写得非常细致。另外对Kafka相对弱的地方(比如延时队列)给出自己的解决方案。

  • 城乡中国(上)
    YURI YIN
    推荐

    和《Apache Kafka源代码剖析》非常相识,而且感觉还不如前者来的详实,当然这是我个人看法,如有愤怒者,请积极治疗,切勿打扰医生工作。

  • 城乡中国(上)
    Allan
    推荐

    可以看作者是去实践了,但是像是在翻译实践一样,照着()一步一步实践罗列堆叠终于堆叠了1000页的一本书,用了我好几天看完,我也是够耐心了。

  • 城乡中国(上)
    丁杰峰
    推荐

    不知道这本书的定位是什么,把kafka的代码、原理了解清楚了,却不能写出好的书,可能我太苛刻了,但是换一种叙述方式可能会更好,原理的归原理,实践的归实践,代码分析的归代码分析,这就是三本书了哇,这本书拆成三本比揉成一本更合适。

  • 城乡中国(上)
    林子豪 Johny Sinn
    推荐

    这本关于Kafka的书写得非常详尽,很多底层细节和原理都分析得很透彻,对比市面上不同产品的技术方案,总结出各种实现的优缺点,做到触类旁通,对于一些可能在业务场景中需要但是Kafka本身没有的功能,作者都提出了相应的解决方案。 producer:生产者,生成消息。 consumer:消费者,消费消息。 broker:存储和管理消息的节点。 topic:主题,消息的一级分类。 partition:分区,一个主题有多个分区,每一个分区对应一个Log日志根目录。 replica:副本,一个分区有多个副本,每一个副本对应一个Log日志分段。每一个分区有一个leader副本,有多个follower副本,读写发生在leader副本,follower只作备份。为了负载均衡,不同分区的leader副本会尽可能地分布在不同的broker上。 Kafka集成了zookeeper作为协调服务,易于动态扩展,批量发送、顺序读写、零拷贝、页缓存等技术,使他具备高吞吐量的特性,消息存储在磁盘上实现持久性,消息传输重试和确认机制、幂等和事务、分区多副本确保了可靠性,时间轮与delayQueue结合,在大量分布式定时任务的条件下,保证了精确性同时,又保证了性能。 Kafka生产者发送消息 指定要发送的Topic,还可以指定Key。 Key是用来指定消息的键,它不仅是消息的附加信息,还可以用来计算分区号进而可以让消息发往特定的分区。前面提及消息以主题为单位进行归类,而这个key可以让消息再进行二次归类,同一个key的消息会被划分到同一个分区中。 Kafka的消费者与消费组 一个消费者可以订阅一个或多个主题。 每个消费者都有一个对应的消费组。当消息发布到主题后,只会被投递给订阅它的每个消费组中的一个消费者。 假设目前某消费组内只有一个消费者 C0,订阅了一个主题,这个主题包含 7 个分区:P0、P1、P2、P3、P4、P5、P6。也就是说,这个消费者C0订阅了7个分区。 此时消费组内又加入了一个新的消费者C1,按照既定的逻辑,需要将原来消费者C0的部分分区分配给消费者C1消费。消费者C0和C1各自负责消费所分配到的分区,彼此之间并无逻辑上的干扰。 紧接着消费组内又加入了一个新的消费者C2,消费者C0、C1和C2各自负责消费所分配到的分区。 消费者与消费组这种模型可以让整体的消费能力具备横向伸缩性,我们可以增加(或减少)消费者的个数来提高(或降低)整体的消费能力。对于分区数固定的情况,一味地增加消费者并不会让消费能力一直得到提升,如果消费者过多,出现了消费者的个数大于分区个数的情况,就会有消费者分配不到任何分区。 Kafka的幂等性 Producer在生产发送消息时,难免会重复发送消息。Producer进行retry时会产生重试机制,发生消息重复发送。而引入幂等性后,重复发送只会生成一条有效的消息。 Kafka的事务 Kafka中的事务是指一系列的Producer生产消息和消费消息提交Offsets的操作在一个事务中,即原子性操作。对应的结果是同时成功或者同时失败。 需要与数据库中事务进行区别,操作数据库中的事务指一系列的增删查改,对Kafka来说,操作事务是指一系列的生产和消费等原子性操作。

Copyright © 2020 - 2022 Mitsuha. All Rights Reserved. 用户协议 · 隐私政策 ·