confluent kafka - connect
实时的数据集成问题
- Traditional ETL
- Data Integration
- Kafka Connect
- Group Management
Traditional ETL
两类存储模式
- primary storage -noSQL persistent
- secondary storage -elastic search
实时性 连续性 ⬆ ➡ update in primary ➡ update in secondary storage
数据因为用处不同需要拷贝到很多地方去
Data Integration
把不同来源,格式,特点性质的数据在逻辑和物理上集中
->为公司提供数据共享和决策支持
- one-off tools - one tool one line
- kitchen sink tools - 通用,对source和destination的假设太少(??)不能确保reliable
- stream processing frameworks
侧重transformation(??)
kafka - balance of one-off tools and kitchen sink tools
kafka 是一个 分布式系统,有很多的broker
以 log 来管理数据,顺序读写并且写只能发生在log尾部
topic - scalable consumption
kafka 数据持久化的有较好的容错
Kafka Connect
source 把数据从一个系统拷贝到kafka中
sink 把kafka中数据拷贝到另一个系统中
partitioned stream 数据库-流数据
connector 由多个task组成,一个task由thread
kafka两种运行模式standalone mode, distributed mode
Group management
zookeeper - rebalance 负担太重
broker 负责一些group的管理
client 端完全不需要依赖zookeeper
- 第一阶段发现成员
- 第二阶段同步
coordinator - broker
当前Kafka Connect支持两种分发担保(?)
- at least once 至少一次
- at most once 至多一次
- exactly once?(未来将会支持)