- 深入理解Kafka:核心設計與實踐原理
- 朱忠華
- 474字
- 2019-07-09 14:50:28
第1章 初識Kafka
Kafka起初是由LinkedIn公司采用Scala語言開發的一個多分區、多副本且基于ZooKeeper協調的分布式消息系統,現已被捐獻給Apache基金會。目前Kafka已經定位為一個分布式流式處理平臺,它以高吞吐、可持久化、可水平擴展、支持流數據處理等多種特性而被廣泛使用。目前越來越多的開源分布式處理系統如Cloudera、Storm、Spark、Flink等都支持與Kafka集成。
Kafka之所以受到越來越多的青睞,與它所“扮演”的三大角色是分不開的:
· 消息系統:Kafka 和傳統的消息系統(也稱作消息中間件)都具備系統解耦、冗余存儲、流量削峰、緩沖、異步通信、擴展性、可恢復性等功能。與此同時,Kafka 還提供了大多數消息系統難以實現的消息順序性保障及回溯消費的功能。
· 存儲系統:Kafka 把消息持久化到磁盤,相比于其他基于內存存儲的系統而言,有效地降低了數據丟失的風險。也正是得益于Kafka 的消息持久化功能和多副本機制,我們可以把Kafka作為長期的數據存儲系統來使用,只需要把對應的數據保留策略設置為“永久”或啟用主題的日志壓縮功能即可。
· 流式處理平臺:Kafka 不僅為每個流行的流式處理框架提供了可靠的數據來源,還提供了一個完整的流式處理類庫,比如窗口、連接、變換和聚合等各類操作。
推薦閱讀
- 算法大爆炸:面試通關步步為營
- Raspberry Pi for Secret Agents(Third Edition)
- VSTO開發入門教程
- Java Web應用開發技術與案例教程(第2版)
- 組態軟件技術與應用
- Multithreading in C# 5.0 Cookbook
- 利用Python進行數據分析
- Hands-On JavaScript for Python Developers
- 企業級Java現代化:寫給開發者的云原生簡明指南
- Java Web動態網站開發(第2版·微課版)
- 軟件測試(慕課版)
- Python Penetration Testing Essentials
- Access 2016數據庫應用與開發:實戰從入門到精通(視頻教學版)
- BackTrack 5 Cookbook
- C++ Windows Programming