码迷,mamicode.com
首页 > 数据库 > 详细

[DB] Kafka

时间:2020-06-18 21:34:03      阅读:82      评论:0      收藏:0      [点我收藏+]

标签:tps   off   lin   broker   loading   批量   主题   https   均衡   

介绍

  • 一种高吞吐量的分布式发布订阅消息系统
  • 消息类型:主体Topic(广播)、队列Queue(一对一)
  • 消息系统类型:同步消息系统、异步消息系统
  • 常见消息产品:Redis、Kafka、JMS

术语

  • Topic:Kafka处理消息源(feeds of messages)的不同分类(不同于传统MQ)
  • Partition:Topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列。partition中的每条消息都会被分配一个有序的id(offset),一个分区对应一个消费者
  • Message:消息,是通信的基本单位,每个producer可以向一个topic(主题)发布一些消息
  • Producers:消息和数据生产者,向Kafka的一个topic发布消息的过程叫做producers
  • Consumers:消息和数据消费者,订阅topics并处理其发布的消息的过程叫做consumers
  • Broker:缓存代理,Kafka集群中的一台或多台服务器统称为broker

设计要点

  • 内存访问:使用Linux文件系统的cache,高效缓存数据
  • 磁盘持久化:不再内存中cache,直接顺序写入磁盘
  • zero-copy:减少IO操作
  • 消息处理:支持数据批量发送压缩
  • 主题分区:Topic划分为多个partition,提高消息处理并行度
  • 负载均衡:producer根据用户指定算法,将消息发送到指定的partition
  • 消息拉取:简化kafka设计,consumer根据消费能力自主控制消息拉取速度,自主选择消费模式
  • 可扩展性:需要增加broker结点时,新增broker向zk注册,procucer和consumer根据zk上的watcher调整

应用场景

  • 消息队列
  • 行为跟踪
  • 元信息监控
  • 日志收集
  • 流处理

命令

  • 配置文件:config/server.properties
  • 启动:bin/kafka-server-start.sh config/server.properties &
  • 创建主题:bin/kafka-topics.sh --create --zookeeper bigdata111:2181 -replication-factor 1 --partitions 3 --topic mydemo1
  • 生产者:bin/kafka-console-producer.sh --broker-list bigdata111:9092 --topic mydemo1
  • 消费者:bin/kafka-console-consumer.sh --zookeeper bigdata111:2181 --topic mydemo1

技术图片

技术图片

参考

Kafka入门经典教程

https://blog.csdn.net/hmsiwtv/article/details/46960053

 

[DB] Kafka

标签:tps   off   lin   broker   loading   批量   主题   https   均衡   

原文地址:https://www.cnblogs.com/cxc1357/p/12702398.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!