zookeeper与kafka介绍
Zookeeper
- ZooKeeper是一个分布式的小文件存储系统。前身是Apache Hadoop的一个组件,被拆分为一个Hadoop的独立子项目。
-
ZooKeeper是一个为分布式应用程序提供高性能协调服务的工具集合。被作为一个协调分布式环境中各子系统之间共享状态数据的基础组件。
为什么使用Zookeeper
大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进程(如资源、任务分配等)
目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制
协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器
ZooKeeper:提供通用的分布式锁服务,用以协调分布式应用
Zookeeper的节点
Znode有两种类型,临时节点和持久节点
Znode的类型在创建时确定并且之后不能再修改
kafka
- 由LinkedIn开发,主要是用来处理Linkedin的大面积活跃数据流处理。此类的数据经常用来反映网站的一些有用的信息。
- 高流量的活跃数据是无法确定其大小的,因为他可能随时的变化
- 传统日志分析方式都是需要离线,而且操作起来比较复杂,根本无法满足实时的分析。另一方面,现有的消息队列系统只能达到近似实时的分析,因为无法消费大量的持久化在队列系统上的信息
- Kafka的目标就是能够成为一个高效的队列平台,无论是处理离线的信息还是在线的信息。
Kafka的核心概念
topic 主题
partition 分区
offset 类似于一个偏移量
consumer group