摘要:
【ZooKeeper】服务注册、服务发现、客户端负载均衡、Offset偏移量分布式存储。kafka使用zookeeper来实现动态的集群扩展,不需要更改客户端(producer和consumer)的配置。broker会在zookeeper注册并保持相关的元数据(topic,partition信息等)... 阅读全文
摘要:
————————————————————————————————————————————————【关键原理】1.消息文件存储(消息堆积能力)2.消息topic分区3.消息顺序的保证4.拉模型(消费者水平扩展)——————————————————————————————————————————————... 阅读全文
摘要:
kafka是为分布式环境设计的,因此如果日志文件,其实也可以理解成消息数据库,放在同一个地方,那么必然会带来可用性的下降,一挂全挂,如果全量拷贝到所有的机器上,那么数据又存在过多的冗余,而且由于每台机器的磁盘大小是有限的,所以即使有再多的机器,可处理的消息还是被磁盘所限制,无法超越当前磁盘大小.因此... 阅读全文
摘要:
在对消息进行存储和缓存时,Kafka依赖于文件系统。(Page Cache)线性读取和写入是所有使用模式中最具可预计性的一种方式,因而操作系统采用预读(read-ahead)和后写(write-behind)技术对磁盘读写进行探测并优化后效果也不错。预读就是提前将一个比较大的磁盘块中内容读入内存,后... 阅读全文