1. 程式人生 > >kafka0.9新特性

kafka0.9新特性

一、安全特性

在0.9之前,Kafka安全方面的考慮幾乎為0,在進行外網傳輸時,只好通過Linux的防火牆、或其他網路安全方面進行配置。相信這一點,讓很多使用者在考慮使用Kafka進行外網訊息互動時有些擔心。在安全方面,主要有以下方面設計:

  1. 客戶端連線borker使用SSL或SASL進行驗證
  2. borker連線ZooKeeper進行許可權管理
  3. 資料傳輸進行加密(需要考慮效能方面的影響)
  4. 客戶端讀、寫操作可以進行授權管理
  5. 可以對外部的可插拔模組的進行授權管理

當然,安全配置方面是可選的,可以混合使用。如:做過安全配置的的borkers和沒有進行安全配置的borkers放在同一叢集,授權的客戶端和沒有授權的客戶端,也可以在同一個叢集等等。具體配置詳見官方文件。

二、Kafka Connect

這個功能模組,也是之前版本沒有的。可以從名稱看出,它可以和外部系統、資料集建立一個數據流的連線,實現資料的輸入、輸出。有以下特性:

  1. 使用了一個通用的框架,可以在這個框架上非常方面的開發、管理Kafka Connect介面
  2. 支援分散式模式或單機模式進行執行
  3. 支援REST介面,可以通過REST API提交、管理 Kafka Connect叢集
  4. offset自動管理

同時,官方文件中,也給出了例子。通過配置,往一個文字檔案中輸入資料,資料可以實時的傳輸到Topic中。在進行資料流或者批量傳輸時,是一個可選的解決方案。

三、新的Comsumer API

新的Comsumer API不再有high-level、low-level之分了,而是自己維護offset。這樣做的好處是避免應用出現異常時,資料未消費成功,但Position已經提交,導致訊息未消費的情況發生。通過檢視API,新的Comsumer API有以下功能:

  1. Kafka可以自行維護Offset、消費者的Position。也可以開發者自己來維護Offset,實現相關的業務需求。
  2. 消費時,可以只消費指定的Partitions
  3. 可以使用外部儲存記錄Offset,如資料庫之類的。
  4. 自行控制Consumer消費訊息的位置。
  5. 可以使用多執行緒進行消費

Kafka 0.9這個版本,大的變化主要就是上面三點了。不過對於這個版本的穩定性還有待在實際使用中進行觀察。通過在JIRA中檢視,目前這個版本的Bug只帖出了一個,估計跟沒有大規模的被使用者使用有關。如果小夥伴們在使用過程中有什麼心得體會,歡迎在部落格下面留言分享!

相關推薦

kafka0.9特性

一、安全特性 在0.9之前,Kafka安全方面的考慮幾乎為0,在進行外網傳輸時,只好通過Linux的防火牆、或其他網路安全方面進行配置。相信這一點,讓很多使用者在考慮使用Kafka進行外網訊息互動時有些擔心。在安全方面,主要有以下方面設計: 客戶端連線borker使用SSL

JDK 9特性匯總

one 已久 集合 哪些 com 描述 匯總 框架 可變 寫在前面: ?期待已久的JDK 9發布了,有哪些新特性值得我們去體驗呢?小編給你整理了JDK 9的新特性。 JDK9的關鍵更改: Java平臺模塊化系統:引入了一種新的Java編程組件模塊,

iOS 11系列 - Xcode 9特性

rsa cti 連接數 項目 threads 比較 title and val Xcode 9最近剛剛發布,帶來了一系列不錯的新特性,可以更好的幫助到開發者完成開發工作。 Xcode Runtime Tool Xcode 9中有許多Runtime Tool可以幫助開發者找到

jdk 9 特性

2017年7月,甲骨文發表Java SE 9。 Java 9中主要的變化是已經實現的模組化系統。 Modularity提供了類似於OSGI框架的功能,模組之間存在相互的依賴關係,可以匯出一個公共的API,並且隱藏實現的細節,Java提供該功能的主要的動機在於,減少記憶體的開銷,在JV

Go 1.9 特性 Type Alias 詳解 type MyInt2 = int

Go 1.9 新特性 Type Alias 詳解 飛雪無情 2017 年 8 月 28 日 話題:語言 & 開發架構Go 北京時間 2017.08.25,Go1.9 正式版釋出了。Go1.9 經歷了 2 個 beta,好幾個月,終於定了,釋出了正式版本。Go 1.9

JDK1.9 特性

java 7 2011釋出,Java 8 2014釋出,java9釋出於2017年9月21日。 你可能已經聽說過 Java 9 的模組系統,但是這個新版本還有許多其它的更新。 這裡有九個令人興奮的新功能將與 Java 9 一起釋出。 1. Java 平臺級模組系統 Java 9 的定義功

Java 9 特性快速預覽

Java 8 已經出來三年多的時間了,原本計劃2016年七月份release Java 9,但是基於種種原因,Java 9 被推遲到了2017年的3月份,本人也在Open JDK的官網上看到了Java 10的標準也在制定當中,Java的發展真的越來越快了,在Java 9正式

Java 9 特性! 看過才知道強大

1、Java9 新特性之---目錄結構包含jdk8及以前的jdk版本,所有目錄結構以及目錄含義如圖:     jdk9之後,目錄結構發生變化如圖:這個新特性只要瞭解下就可以了,這個目錄結構是方便為了接下來新特性做保證2、Java9新特性之---JShell工具怎麼理解,怎麼用

JDK 9特性彙總

寫在前面:     ​期待已久的JDK 9釋出了,有哪些新特性值得我們去體驗呢?小編給你整理了JDK 9的新特性。  JDK9的關鍵更改:     Java平臺模組化系統:引入了一種新的Java程式設計元件模組,它是一個命名的、自描述的程式碼和資料集合。 JD

HTML5/CSS3/ES6/7/8/9...特性在各瀏覽器相容性查詢

        最近在研究H5/CSS3,發現一些書籍的出版時間已經很老了,好多特性的相容性問題層次不齊!突然發現了一個神奇的網站,這個網站可以直接查詢你想用的特新,然後下面結果會告訴你這個特新目前各個瀏覽器的支援情況,這簡直就像Willis Haviland Carrier

java-1.5-1.9特性

———————————————————————————————————————————— 加快OpenJDK的開發速度:繼2014年3月份釋出了Java 8之後,我們進入下一個兩年的釋出週期。 Java 9預計在2016年釋出,並且已經公佈了JEP(JDK改進提議)中的前期列表。同時,我們已經把一些新特性整理

Go 1.9 特性 Type Alias 詳解

北京時間2017.08.25,Go1.9正式版釋出了。Go1.9經歷了2個beta,好幾個月,終於定了,釋出了正式版本。Go 1.9包含了很多改變,比如類型別名Type Alias,安全併發Map,並行編譯等,都是很大的改變,今天這篇文章主要介紹類型別名 Type Ali

3.Java高階教程_12.Java 9 特性

Java 9 釋出於 2017 年 9 月 22 日,帶來了很多新特性,其中最主要的變化是已經實現的模組化系統。接下來我們會詳細介紹 Java 9 的新特性。 Java 9 新特性 模組系統:模組是一個包的容器,Java 9 最大的變化之一是引入了模組系統(Jigsa

Python 3.9 特性:任意表達式可作為裝飾器!

一個月前(2月20日),一則新的 PEP 沒有受到任何阻礙就被官方採納了,這麼快的速度,似乎並不多見。 然而,更為高效率的是,僅在半個月內,它的實現就被合入了程式碼倉。也就是說,我們最快有望在 3 天后(3月23日)釋出的 3.9.0 alpha 5 版本中看到它! Python 3.9 的釋出計劃:

說說 C# 9 特性的實際運用

你一定會好奇:“老周,你去哪開飛機了?這麼久沒寫部落格了。” 老周:“我買不起飛機,開了個鐵礦,挖了一年半的石頭。誰知鐵礦垮了,壓死了幾條蜈蚣,什麼也沒挖著。” 所以,這麼丟死人的事,還是不要提了,爺爺從小教導我做人要低調…… &nb

C# 9 特性 —— 增強的 foreach

# C# 9 新特性 —— 增強的 `foreach` ## Intro 在 C# 9 中增強了 `foreach` 的使用,使得一切物件都有 `foreach` 的可能 我們來看一段程式碼,這裡我們試圖遍歷一個 `int` 型別的值 ![](https://img2020.cnblogs.com/

C# 9 特性——init only setter

# C# 9 新特性——init only setter ## Intro C# 9 中新支援了 `init` 關鍵字,這是一個特殊的 `setter`,用來指定只能在物件初始化的時候進行賦值,另外支援構造器簡化的寫法,比如:`Target-typed new expression` 在已知型別的情況下可

C# 9 特性 —— 增強的模式匹配

# C# 9 新特性 —— 增強的模式匹配 ## Intro C# 9 中進一步增強了模式匹配的用法,使得模式匹配更為強大,我們一起來了解一下吧 ## Sample C# 9 中增強了模式匹配的用法,增加了 `and`/`or`/`not` 操作符,而且可以直接判斷屬性,來看一下下面的這個示例: `

C# 9 特性 —— 補充篇

# C# 9 新特性 —— 補充篇 ## Intro 前面我們分別介紹了一些 C# 9 中的新特性,還有一些我覺得需要了解一下的新特性,寫一篇作為補充。 ## Top-Level Statements 在以往的程式碼裡,一個應用程式必須要有 `Main` 方法才能執行,從 C# 9 開始,支援沒有 `

Java 9 中的 9特性

不想 行為 添加元素 ase 結合 quest 簡單 通過 this Java 8 發布三年多之後,即將快到2017年7月下一個版本發布的日期了。 你可能已經聽說過 Java 9 的模塊系統,但是這個新版本還有許多其它的更新。 這裏有九個令人興奮的新功能將與 Java 9