Kafka&zookeeper

SDN分布式集群
修改后记得 maven clean install

分布式事务之2PC和3PC
storm - 可靠机制

kafka

分布式消息系统:Kafka
Kafka剖析(一):Kafka背景及架构介绍

  • kafka采用顺序写磁盘方式,比随机写内存速度快
  • 将一个topic分为多个partition,可以起到负载均衡的作用
  • 采用Consumer Group实现单播和广播,每一个Consumer消费数据的Offset保存在Zookeeper的结点中
  • 采用Hash算法将partition分布到多个broker上,提高可用性,Producer发布消息时,只向Leader发送数据,写入本地Log,当Followers接收到数据后,立即向Leader发送ACK消息,一旦Leader收到ISR所有Replica的ACK,即可以认为该消息被commit,Leader向Producer发送ACK消息
  • Leader选举
    • Kafka 0.8.*的Leader Election方案解决了上述问题,它在所有broker中选出一个controller,所有Partition的Leader选举都由controller决定。controller会将Leader的改变直接通过RPC的方式(比ZooKeeper Queue的方式更高效)通知需为为此作为响应的Broker。同时controller也负责增删Topic以及Replica的重新分配。

Kafka设计解析(二):Kafka High Availability (上)
Kafka设计解析(三):Kafka High Availability (下)
Kafka设计解析(四):Kafka Consumer解析
Kafka设计解析(五):Kafka Benchmark
Yahoo开源Kafka集群管理器Kafka Manager
LinkedIn是如何优化Kafka的

zookeeper

分布式服务框架 Zookeeper -- 管理分布式环境中的数据
图解zookeeper FastLeader选举算法
zookeeper3.3.3源码分析(二)FastLeader选举算法
zookeeper入门与实战
zookeeper 管理界面:zkdash

paxos算法

分布式理论之一:Paxos算法的通俗理解
Paxos算法细节详解(一)--通过现实世界描述算法
Paxos算法与Zookeeper分析

storm配置

storm配置
提交topology
Storm常见问题
storm笔记

storm & zookeeper实践
  • zookeeper是一个主要负责分布式系统的协调服务,其本身也可以组成分布式集群,在分布式系统中,一个客户端连接一个zookeeper服务器,一个zookeeper服务器可以为多个客户端提供服务。一个客户端的读请求,直接由其所连接的zookeeper服务器响应,写请求由其直接连接的zookeeper服务器将请求转发个zookeeper集群中的leader服务器,然后leader向所有follower提交写请求,当满足大多数(法定数量)的服务器完成写请求,则视为本次写请求成功,最后向客户端响应。
  • zookeeper配置:server.1 myid文件 服务监听端口
  • mysql
  - load data [low_priority] [local] infile 'file_name txt' [replace | ignore]
into table tbl_name
[fields terminated by'\t']
[OPTIONALLY] enclosed by '']
[escaped by'\' ]]
[lines terminated by'\n']
[ignore number lines]
[(col_name, )]
  - load data local infile "/Users/chengfeng/Dev/BigData/ApplicationData/lng-lat-mapping.txt" into table position lines terminated by'\n' (area, lng, lat)

storm启动前需要启动zookeeper

你可能感兴趣的:(Kafka&zookeeper)