游记--晴空万里的阳台山

  周五的时候,好友打来电话,说想出去爆走,正好我也有这个打算,于是让她准备了行程(阳台山),周日出发。周六还下着大雨,查了查天气,周日晴。也刚好是周六的雨造就了周日的晴空万里。——晴空万里的阳台山

行程安排

  - 首次乘坐的地铁:从天通苑6:00出发,乘坐地铁5号线–(惠新西街南口转)–10号线–(海淀黄庄转)–4号大兴线–到达西苑。
  - 从西苑不行4分钟作用到达346公交起始站,到北安河西口下车。

Kafka--Consumer消费者

  Kafka 的 consumer 是以pull的形式获取消息数据的。 producer push消息到kafka cluster ,consumer从集群中pull消息,如下图。该博客主要讲解. Parts在消费者中的分配、以及相关的消费者顺序底层结构元数据信息Kafka数据读取和存储等
   kafka消息生产/消费

Parts在消费者中的分配

  • 首先partition和consumer都会字典排序
  1. 分区Partition从小到大排序:分区顺序是0,1,2,3,4,5,6,7,8,9
  2. 消费者Consumer id按照字典顺序排序:f0b87809-0, f1b87809-0, f1b87809-1

Kafka--集群及API操作

  本篇博客,主要讲解kafka集群配置kafka的容错kafka扩展机制。以及使用kafka模拟一个网络流量实时统计来看一看Kafka的一些api使用方法。

kafka集群

集群搭建

  • 一、准备集群机器(这里使用3台):主机名xxo08、xxo09、xxo10(我把zookeeper集群也放在了这里)。
  • 二、搭建并启动 zookeeper集群

  • 三、修改配置文件

  1. /opt/kafka/config/server.properties broker.id=0  ##broker的id每一个broker应该不同
  2. log.dirs=/opt/kafka_logs  ##
  3. zookeeper.connect=xxo08:2181,xxo09:2181,xxo10:2181 ##注意:我的zokeeper也在这三台机器上
  • 四、同步其它节点
    scp -r /opt/kafka/ root@xxo09:/opt/
    scp -r /opt/kafka/ root@xxo10:/opt/
    并修改
    xxo09 /opt/kafka/config/server.properties broker.id=1  ##broker的id
    xxo10 /opt/kafka/config/server.properties broker.id=2  ##broker的id

Kafka--集群及API操作

  本篇博客,主要讲解kafka集群配置kafka的容错kafka扩展机制。以及使用kafka模拟一个网络流量实时统计来看一看Kafka的一些api使用方法。

kafka集群

集群搭建

  • 一、准备集群机器(这里使用3台):主机名xxo08、xxo09、xxo10(我把zookeeper集群也放在了这里)。
  • 二、搭建并启动 zookeeper集群

  • 三、修改配置文件

  1. /opt/kafka/config/server.properties broker.id=0  ##broker的id每一个broker应该不同
  2. log.dirs=/opt/kafka_logs  ##
  3. zookeeper.connect=xxo08:2181,xxo09:2181,xxo10:2181 ##注意:我的zokeeper也在这三台机器上
  • 四、同步其它节点
    scp -r /opt/kafka/ root@xxo09:/opt/
    scp -r /opt/kafka/ root@xxo10:/opt/
    并修改
    xxo09 /opt/kafka/config/server.properties broker.id=1  ##broker的id
    xxo10 /opt/kafka/config/server.properties broker.id=2  ##broker的id

Kafka--分布式消息队列

  Kafka 分布式的发布-订阅消息系统。最初由 LinkedIn 公司开发,使用 Scala 语言编写,2010年12月份开源成为 Apache 项目的一部分。Kafka 是一个高吞吐量的、持久性的、分布式发布订阅消息系统它主要用于处理活跃的数据(登录、浏览、点击、分享、喜欢等用户行为产生的数据)。

Kafka概述

设计

  • 主要的设计元素
    1. Kafka在设计之时为就将持久化消息作为通常的使用情况进行了考虑。
    2. 主要的设计约束是吞吐量而不是功能。
    3. 有关哪些数据已经被使用了的状态信息保存为数据使用者(consumer)的一部分,而不是保存在服务器之上。
    4. Kafka是一种显式的分布式系统。它假设,数据生产者(producer)、代理(brokers)和数据使用者(consumer)分散于多台机器之上。
  • 在对消息进行存储和缓存时,Kafka严重地依赖于文件系统。所有数据都要立即写入文件系统持久化的日志中但不进行刷新数据的任何调用(有刷新策略,可以配置。就意味着,数据被传输到OS内核的页面缓存中了,OS随后会将这些数据刷新到磁盘的。

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器