來吧,1分鐘帶你玩轉Kafka

2021-09-25 04:38:48 字數 2747 閱讀 7041

【摘要】 kafka讓人又愛又恨?來吧,一分鐘帶你玩轉它

說起kafka,許多使用者對它是又愛又恨。kafka是一種分布式的、基於發布/訂閱的訊息系統,其極致體驗讓人欲罷不能,但操心的運維、複雜的安全策略、可靠性易用性的缺失、算不上極致的效能發揮、並不豐富的訊息服務功能,仍需要使用者付出諸多的背後工作。即使你是kafka老手,也難免會有上述同樣的煩惱。

與其整日操心kafka的部署,不如試試雲上kafka帶給你的驚喜?目前國內主流的雲服務廠商均提供了雲上的kafka服務,為應用系統提供非同步的訊息佇列服務。通過高可用的訊息緩衝佇列,實現應用解耦、突發流量處理及與第三方的互通和整合,具有大規模、高可靠、高併發訪問、可擴充套件且完全託管的特點。比如分布式訊息服務dms,幫助雲端的應用程式元件去耦合,具有很高的成本效益。dms擁抱開源,提供支援相容開源kafka介面,使用者可無縫遷移,按需使用。

dms優勢

全面相容kafka 提公升效率

相容開源

業務系統基於開源的kafka進行開發,只需加入少量認證安全配置,即可使用dms的kafka佇列,做到無縫遷移。

訊息互通

支援訊息多通道,dms介面可對kafka佇列進行訊息收發,也可用開源kafka client進行訊息收發。

安全保證

獨有的安全加固體系,提供業務操作可回溯,訊息儲存加密及租戶間有效隔離等有效安全措施。

高可靠及可用無憂運維

資料高可靠

訊息持久化,多副本儲存。

服務高可用

後台多集群部署,支援故障自動遷移和容錯,保證使用者關鍵業務的可靠執行。

無憂運維

提供一整套完整的監控告警等運維服務,故障自動發現和告警,避免7*24小時人工值守。

核心特性

細粒度靈活控制

dms支援rbac(基於角色訪問控制)和pbac(基於策略訪問控制)兩種訪問控制模式,從而提供更加安全靈活的訪問策略。可以實現訊息佇列粒度和api呼叫動作的安全策略訪問控制,結合華為雲的iam服務,可以滿足使用者幾乎所有對訊息服務使用的安全要求。

多協議的訪問

dms提供多種協議接入方式,包括1)http 符合rest規範標準的接入,支援多種語言接入使用,並支援雲內及雲外訪問。2)基於tcp的簡單sdk方式,提供更加高效能的訪問介面;另外,還提供相容開源kafka的開放介面,能夠更好地幫助使用者把使用kafka的應用快速上雲。

分布式可靠集群和海量佇列能力

內建的分布式集群技術,使得服務具有高度擴充套件性;無限擴充套件的佇列數量和可擴充套件的高效能機制,保證在高併發、高效能和大規模場景下的訪問能力,輕鬆實現百億級訊息的堆積和訪問能力。內建訊息冗餘儲存,保證訊息儲存的可靠性,有效避免服務節點故障。

內建的分布式集群技術,使得服務具有高度擴充套件性;無限擴充套件的佇列數量和可擴充套件的高效能機制,保證在高併發、高效能和大規模場景下的訪問能力,輕鬆實現百億級訊息的堆積和訪問能力。內建訊息冗餘儲存,保證訊息儲存的可靠性,有效避免服務節點故障。

死信管理

死信是在消費環節為使用者提供一種不能正常處理訊息時的可選方案,防止因個別訊息不正常導致後續訊息都不能被消費,造成業務阻塞。dms為使用者提供視覺化死信開關和引數配置,並提供api介面。在不開啟死信佇列功能時,對於確認失敗或超時的訊息,系統會進行回滾並重投遞。無論是否開啟死信功能,dms服務都會保證訊息不丟失。

自定義訊息功能

dms除提供訊息佇列的核心功能外,還提供額外的增強能力,為使用者提供高收益、低成本的極具價效比的訊息服務。訊息消費重置允許使用者設定任一可消費的時間點控制向前或向後消費進度,提高消費的靈活性;基於訊息標籤的訊息過濾可實現選擇性地消費包含指定標籤的訊息;支援訊息屬性,每條訊息上都可以設定不同的屬性。

無憂運維

訊息服務是雲原生服務,整個訊息服務的運維對使用者透明。使用者無需關心後台運維情況,只需關注自身涉及的訊息佇列指標,支援對入隊訊息數、請求數、已經消費的訊息數、訊息堆積數量等情況的監控,並支援配置告警規則,使用者可以在第一時間通過簡訊、郵件等獲得業務訊息佇列的執行使用和負載狀態。

適用場景

業務解耦

將業務中依賴其他系統同時屬於非核心或不重要的部分使用訊息服務,無需同步等待其他系統的處理結果。如電商**獲取使用者訂單後,資訊放入訊息佇列,會從佇列裡讀取出庫、發貨任務資訊然後執行。

最終一致性

用於兩個系統的狀態最終保持一致,或都成功或都失敗。如用於交易系統的高可靠資料傳遞,實現跨系統的事務最終一致,降低實現難度和成本;如預定門票及軟體打車。

錯峰流控

上下游系統處理能力有差異時,可以使用訊息服務轉儲系統之間的通訊資料,提供訊息堆積緩衝能力,在下游系統有能力處理訊息的時候再處理,減少擁塞、系統崩潰等問題,提高系統的可用性,降低複雜性。如高峰時段的註冊、搶購、預約等。

日誌同步

應用通過可靠非同步方式將日誌訊息同步到訊息服務,再通過其他元件對日誌做實時或離線分析,也可用於關鍵日誌資訊收集,進行應用監控。如註冊時使用者填寫的個人資訊等。

現階段dms免費使用喔!一分鐘玩轉kafka,就是這麼簡單~

五分鐘帶你玩轉mybatis(二)常用標籤

open 以什麼開始 close 以什麼結束 separator 分隔符 collection list名稱 item index名稱 引用sql標籤 typename sort 在set時候省略最後乙個符號 code itemname criteria prefix 字首覆蓋並增加其內容 suff...

五分鐘帶你玩轉rocketMQ(五)實戰廣播與集群

1.集群消費方式 乙個consumergroup中的consumer例項平均分攤消費生產者傳送的訊息。例如某個topic有九條訊息,其中乙個consumer group有三個例項 可能是3個程序,或者3臺機器 那麼每個例項只消費其中的3條訊息,consumer不指定消費方式的話預設是集群消費的,適用...

5分鐘帶你了解Kafka的技術架構

博主個人獨立站點開通啦!歡迎點選訪問 大家都知道 kafka 是乙個非常牛逼的訊息佇列框架,阿里的 rocketmq 也是在 kafka 的基礎上進行改進的。對於初學者來說,一開始面對這麼乙個龐然大物會不知道怎麼入手。那麼這篇文章就帶你先了解一下 kafka 的技術架構,讓你從全域性的視野認識 ka...