摘要:
@ComponentScan扫描器 @Configuration表明该类是配置类 在配置类中使用@Bean修饰方法,蒋返回值加入到IOC容器中 使用@Bean来修饰方法,该方法返回一个对象。 不管方法体内的对象是怎么创建的,Spring可以获取得到对象就行了。 Spring内部会将该对象加入到IOC 阅读全文
摘要:
IO 和 NIO 的区别 IO面向流,阻塞IO NIO面向缓冲,非阻塞IO,选择器 可简单认为:IO是面向流的处理,NIO是面向块(缓冲区)的处理 NIO主要有三个核心部分组成: buffer缓冲区(本质是数组) Channel管道 Selector选择器 Java NIO的选择器允许一个单独的线程 阅读全文
摘要:
producer发布消息 写入方式 producer 采用 push 模式将消息发布到 broker,每条消息都被 append 到 patition 中,属于顺序写磁盘(顺序写磁盘效率比随机写内存要高,保障 kafka 吞吐率,关于磁盘顺序写入)。 消息路由 producer 发送消息到 brok 阅读全文
摘要:
Consumer and Consumer group a.每个consumer客户端被创建时,会向zookeeper注册自己的信息; b.此作用主要是为了"负载均衡". c.同一个Consumer Group中的Consumers,Kafka将相应Topic中的每个消息只发送给其中一个Consum 阅读全文
摘要:
ZooKeeper 是 Kafka 用来负责集群元数据的管理、控制器的选举等操作的。 Kafka在zookeeper中存储结构图 阅读全文
摘要:
Replication(主从复制) 在Kafka引入Replication之后,同一个Partition可能会有多个Replica,而这时需要在这些Replication之间选出一个Leader,Producer和Consumer只与这个Leader交互,其它Replica作为Follower从Le 阅读全文
摘要:
架构 一个典型的Kafka集群中包含若干Producer(可以是web前端产生的Page View,或者是服务器日志,系统CPU、Memory等),若干broker(Kafka支持水平扩展,一般broker数量越多,集群吞吐率越高),若干Consumer Group,以及一个Zookeeper集群。 阅读全文
摘要:
简介 主要应用场景是:日志收集系统和消息系统。 Kafka主要设计目标如下: 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。 支持Kafka Server间的消息分区,及 阅读全文