[TOC]
# 什么是kafka?
kafka是一個分布式消息隊列。具有高性能、持久化、多副本備份、橫向擴展能力。生產者往隊列里寫消息,消費者從隊列里取消息進行業務邏輯。一般在架構設計中起到解耦、削峰、異步處理的作用。
## kakfa特點和與其他消息隊列的區別
分布式:
`多分區 多副本 多訂閱者 基于Zookeeper調度 `
高性能
`高吞吐量 低延遲 高并發 時間復雜度為O(1) `
持久性與擴展性
` 數據可持久化 容錯性 支持在線水平擴展 消息自動平衡 `
(1).Kafka 持久化日志,這些日志可以被重復讀取和無限期保留
(2).Kafka 是一個分布式系統:它以集群的方式運行,可以靈活伸縮,在內部通過復制數據提升容錯能力和高可用性
(3).Kafka 支持實時的流式處理
## 基本概念
* producer
`生產者`
* consumer
`消費者`
* consumer group
``
* broker
`服務器級別的kafka節點`
* topic
`消息的類別`
* partition:
`每一個topic被切分為多個partition,
消費者數目要小于或等于partition的數目
broker group中的每一個borker保存topic的一個或多個partitions
`
* replication
`副本
`


* replication Leader:
* replicaManager:
## 基本機構


## 消息結構

## 應用場景
消息隊列 行為跟蹤 元信息監控 日志收集 流處理 事件源 持久性日志
# 生產
# 消費
# 有用文獻
[https://www.jianshu.com/p/d3e963ff8b70](https://www.jianshu.com/p/d3e963ff8b70)
- 簡介
- html
- js
- 正則表達式
- php
- 開發環境和配置
- PHP基礎
- 變量
- 數據類型
- 函數
- 常量
- 運算符
- 流程控制
- 文件
- 異常處理
- 高級
- 會話控制
- 面向對象
- 框架
- laravel
- ThinkPhp
- Yii 易
- Yaf 亞夫
- Swooole
- python
- 數據庫
- 基礎
- 索引
- 倒排索引
- 關聯sql
- 事務
- 鎖
- 優化
- 安全性
- 數據庫類型
- linux
- 基礎命令
- shell腳本
- 操作系統和網絡
- 版本控制器
- git
- git 命令行
- 小烏龜git的使用
- git 基礎命令
- svn
- svn 命令行
- 小烏龜svn的使用
- 網絡
- OSI七層模型
- 網絡協議
- https協議
- TCP UTP協議
- 數據結構和算法
- 算法
- 時間復雜度
- 空間復雜度
- 排序算法
- 查找算法
- 數據結構
- 系統設計和架構
- 緩存系統
- redis
- lua
- memcached
- redis與memcached的區別
- 消息隊列
- kafka
- 設計模式
- 單例模式
- 高并發和大流量設計
- 流量優化
- 前端優化
- web防盜鏈
- CDN加速
- 獨立的圖片服務器
- 服務器端
- 動態語言靜態化
- 并發處理
- 數據庫優化
- web服務器負載均衡
- 面試
- 項目整理
- novonordisk.micego.com
- nnm.micego.com
- www.dawang.tv
- lottery.3lotto.cn
- www.gpquan.cn
- in-tao.com
- 簡歷
- 面試問題
- 知識點
- 真題