日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
輕松學(xué)會Kafka數(shù)據(jù)庫查詢技巧(如何查看kafka里的數(shù)據(jù)庫)

Kafka是一個分布式消息傳輸系統(tǒng),具有高可用性、擴展性和容錯性,非常適合用于日志和流式處理。其作為消息隊列,可以互聯(lián)不同應(yīng)用程序之間,實現(xiàn)應(yīng)用程序之間的解耦,提高信息傳輸?shù)男屎涂煽啃浴T贙afka中,數(shù)據(jù)存儲在一組組使用相同主題的分區(qū)中。對于Kafka的使用者來說,數(shù)據(jù)查詢是一個常見的需求,本篇文章將介紹Kafka數(shù)據(jù)庫查詢的技巧。

我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、平川ssl等。為上千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的平川網(wǎng)站制作公司

一、了解Kafka數(shù)據(jù)庫查詢基本操作

在Kafka中,常見的數(shù)據(jù)庫操作包括查詢、插入、更新和刪除等。相比其他數(shù)據(jù)庫系統(tǒng),Kafka的查詢操作較為簡單,主要是通過控制臺工具kafka-console-consumer來實現(xiàn)。其基本命令格式如下:

./kafka-console-consumer.sh –bootstrap-server [broker地址] –topic [主題]

其中,[broker地址]表示Kafka集群的地址,[主題]表示需要查詢的主題名稱。如果需要查詢某個特定的分區(qū),可以使用–partition選項。

二、使用查詢選項

控制臺工具kafka-console-consumer支持多項查詢選項,可以更加精確的查詢所需數(shù)據(jù)。其中,一些常用的選項如下:

1. –from-beginning: 從最開始的數(shù)據(jù)開始讀取,不僅可以查詢當(dāng)前最新數(shù)據(jù),還能查詢歷史數(shù)據(jù)。

2. –skip-message-on-error: 在讀出一個無法解析的數(shù)據(jù)時,跳過這條數(shù)據(jù)繼續(xù)讀取。

3. –max-messages: 查詢指定數(shù)量的數(shù)據(jù)。

4. –timeout-ms: 查詢指定時間內(nèi)的數(shù)據(jù),單位為毫秒。

5. –property: 其中一些擴展選項,例如–property print.key=true或者print.value=true,可以控制工具輸出數(shù)據(jù)的鍵或值。

三、高級查詢技巧

除了基本操作和查詢選項外,Kafka也支持更加高級的查詢技巧,以滿足更復(fù)雜的需求。

1. 使用正則表達式: 在過濾數(shù)據(jù)時,可以使用正則表達式來精確匹配所需數(shù)據(jù)。例如,要查詢主題_testtopic中包含數(shù)字的消息,可以使用以下命令:

./kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic _testtopic –from-beginning –property print.key=true –property key.separator=”,” | grep “[0-9]”

2. 查詢主題中的最新數(shù)據(jù): 在某些情況下,我們只需要查詢數(shù)據(jù)中的最新記錄,可以使用以下命令:

./kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic _testtopic –from-beginning –max-messages 1

3. 查詢某個特定時間段的數(shù)據(jù): 對于大型的日志數(shù)據(jù)庫來說,查詢整個數(shù)據(jù)集可能很花時間,如果我們只需要查詢某個特定時間段,可以使用以下命令:

./kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic _testtopic –from-beginning –property print.timestamp=true –property timestamp.format=yyyy-MM-dd\ HH:mm:ss.SSS –timeout-ms 10000 | awk -v start=”2023-01-01 00:00:00″ -v end=”2023-01-02 00:00:00″ ‘$NF >= start && $NF

在以上命令中,我們先將時間戳按字符串格式輸出,并使用awk過濾所需的數(shù)據(jù)。

四、

Kafka作為一個高功率的分布式消息傳輸系統(tǒng),具有高可用性、擴展性和容錯性,在日志和流式處理中被廣泛使用。本篇文章介紹了對于Kafka用戶來說基本的Kafka數(shù)據(jù)庫查詢操作,以及進階的操作技巧,可以讓用戶更加靈活的查詢所需數(shù)據(jù)。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!

OpenTelemetry、Spring Cloud Sleuth、Kafka、Jager實現(xiàn)分布式跟蹤

分布式跟蹤可讓您深入了解特定服務(wù)纖核在分布式軟件系統(tǒng)中作為整體的一部分是如何執(zhí)行的。它跟蹤和記錄從起點到目的地的請求以及它們經(jīng)過的系統(tǒng)。

在本文中,我們將使用 OpenTelemetry、Spring Cloud Sleuth、Kafka 和 Jaeger 在三個 Spring Boot 微服務(wù) 中實現(xiàn)分布式跟蹤。

我們先來看看分布式追蹤中的一些基本術(shù)語。

跨度:表示系統(tǒng)內(nèi)的單個工作單元??缍瓤梢韵嗷デ短滓阅M工作的分解。例如,一個跨度可能正在調(diào)用一個 REST 端點,然后另一個子跨度可能是該端點調(diào)用另一個,等等在不同的服務(wù)中。

Trace:所有共享相同根跨度的跨度,或者更簡單地說,將所有跨度創(chuàng)建為原始請求的直接結(jié)果。跨度的層次結(jié)構(gòu)(每個跨度在根跨度旁邊都有自己的父跨度)可用于形成有向無環(huán)圖,顯示請求在通過各種組件時的路徑。

OpenTelemetry ,也簡稱為 OTel,是一個供應(yīng)商中立的開源 Observability 框架,用于檢測、生成、收集和導(dǎo)出遙測數(shù)據(jù),例如 跟蹤 、 指標 和 日志 。作為 云原生 計算基金會 (CNCF) 的孵化項目,OTel 旨在提供與供應(yīng)商無關(guān)的統(tǒng)一庫和 API 集——主要用于收集數(shù)據(jù)并將其傳輸?shù)侥程?。OTel 正在成為生成和管理遙測數(shù)據(jù)的世界標準,并被廣泛采用。

Sleuth 是一個由 Spring Cloud 團隊管理和維護的項目,旨在將分布式跟蹤功能集成到 Spring Boot 應(yīng)用程序中。它作為一個典型Spring Starter的 . 以下是一些開箱即用的 Sleuth 工具:

Sleuth 添加了一個攔截器,以確保在請求中傳遞所有跟蹤信息。每次調(diào)用時,都會毀叢掘創(chuàng)建一個新的 Span。它在收到響應(yīng)后關(guān)閉。

Sleuth 能夠跟蹤您的請求和消息,以便您可以將該通信與相應(yīng)的日志條目相關(guān)聯(lián)。您還可以將跟蹤信息導(dǎo)出到外部系統(tǒng)鄭瞎以可視化延遲。

Jaeger 最初由 Uber 的團隊構(gòu)建,然后于 2023 年開源。它于 2023 年被接受為云原生孵化項目,并于 2023 年畢業(yè)。作為 CNCF 的一部分,Jaeger 是云原生 架構(gòu) 中公認的項目。它的源代碼主要是用 Go 編寫的。Jaeger 的架構(gòu)包括:

與 Jaeger 類似,Zipkin 在其架構(gòu)中也提供了相同的組件集。盡管 Zipkin 是一個較老的項目,但 Jaeger 具有更現(xiàn)代和可擴展的設(shè)計。對于此示例,我們選擇 Jaeger 作為后端。

讓我們設(shè)計三個 Spring Boot 微服務(wù):

這三個微服務(wù)旨在:

這是為了觀察 OpenTelemetry 如何結(jié)合 Spring Cloud Sleuth 處理代碼的自動檢測以及生成和傳輸跟蹤數(shù)據(jù)。上面的虛線捕獲了微服務(wù)導(dǎo)出的跟蹤數(shù)據(jù)的路徑,通過OTLP(OpenTelemetry Protocol)傳輸?shù)絆penTelemetry Collector,收集器依次處理并將跟蹤數(shù)據(jù)導(dǎo)出到后端Jaeger進行存儲和查詢。

使用 monorepo,我們的項目結(jié)構(gòu)如下:

第 1 步:添加 POM 依賴項

這是使用 OTel 和 Spring Cloud Sleuth 實現(xiàn)分布式跟蹤的關(guān)鍵。我們的目標是不必手動檢測我們的代碼,因此我們依靠這些依賴項來完成它們設(shè)計的工作——自動檢測我們的代碼,除了跟蹤實現(xiàn)、將遙測數(shù)據(jù)導(dǎo)出到 OTel 收集器等。

第 2 步:OpenTelemetry 配置

OpenTelemetry 收集器端點

對于每個微服務(wù),我們需要在其中添加以下配置application.yml(請參閱下面部分中的示例片段)。spring.sleuth.otel.exporter.otlp.endpoint主要是配置OTel Collector端點。它告訴導(dǎo)出器,在我們的例子中是 Sleuth,通過 OTLP 將跟蹤數(shù)據(jù)發(fā)送到指定的收集器端點 URL 來自otel-collector圖像的 docker-compose 服務(wù)。

跟蹤數(shù)據(jù)概率抽樣

spring.sleuth.otel.config.trace-id-ratio-based屬性定義了跟蹤數(shù)據(jù)的采樣概率。它根據(jù)提供給采樣器的分數(shù)對一部分跡線進行采樣。概率抽樣允許 OpenTelemetry 跟蹤用戶通過使用隨機抽樣技術(shù)降低跨度收集成本。如果該比率小于 1.0,則某些跡線將不會被導(dǎo)出。對于此示例,我們將采樣配置為 1.0、100%。

有關(guān)其他 OTel Spring Cloud Sleuth 屬性,請參閱常見應(yīng)用程序?qū)傩浴?/p>

OpenTelemetry 配置文件

我們需要項目根目錄下的 OTel 配置文件otel-config.yaml。內(nèi)容如下。此配置文件定義了 OTel 接收器、處理器和導(dǎo)出器的行為。正如我們所看到的,我們定義了我們的接收器來監(jiān)聽 gRPC 和 HTTP,處理器使用批處理和導(dǎo)出器作為 jaeger 和日志記錄。

第 3 步:docker-compose 將所有內(nèi)容串在一起

讓我們看看我們需要啟動哪些 docker 容器來運行這三個微服務(wù)并觀察它們的分布式跟蹤,前三個微服務(wù)在上面的部分中進行了解釋。

運行docker-compose up -d以調(diào)出所有九個容器:

第 4 步:追蹤數(shù)據(jù)在行動

快樂之路

現(xiàn)在,讓我們啟動customer-service-bff流程的入口點,以創(chuàng)建新客戶。

啟動 Jaeger UI,

除了 Trace Timeline 視圖(上面的屏幕截圖),Jaeger 還提供了一個圖形視圖(Trace Graph在右上角的下拉菜單中選擇):

三個微服務(wù)在 docker 中的日志輸出顯示相同的跟蹤 id,以紅色突出顯示,并根據(jù)其應(yīng)用程序名稱顯示不同的跨度 id(應(yīng)用程序名稱及其對應(yīng)的跨度 id 以匹配的顏色突出顯示)。在 的情況下customer-service,相同的 span id 從 REST API 請求傳遞到 Kafka 發(fā)布者請求。

customer-service讓我們在 docker 中暫停我們的PostgreSQL 數(shù)據(jù)庫,然后重復(fù)從customer-service-bff. 500 internal server error正如預(yù)期的那樣,我們得到了。檢查 Jaeger,我們看到以下跟蹤,異常堆棧跟蹤抱怨SocketTimeoutException,再次如預(yù)期的那樣。

識別長期運行的跨度

Jaeger UI 允許我們搜索超過指定更大持續(xù)時間的跟蹤。例如,我們可以搜索所有耗時超過 1000 毫秒的跟蹤。然后,我們可以深入研究長期運行的跟蹤以調(diào)查其根本原因。

在這個故事中,我們從 OpenTelemetry、Spring Cloud Sleuth 和 Jaeger 的角度解壓了分布式跟蹤,驗證了 REST API 調(diào)用和 Kafka pub/sub 中分布式跟蹤的自動檢測。我希望這個故事能讓你更好地理解這些跟蹤框架和工具,尤其是 OpenTelemetry,以及它如何從根本上改變我們在 分布式系統(tǒng) 中進行可觀察性的方式。

如何查看kafka里的數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于如何查看kafka里的數(shù)據(jù)庫,輕松學(xué)會Kafka數(shù)據(jù)庫查詢技巧,OpenTelemetry、Spring Cloud Sleuth、Kafka、Jager實現(xiàn)分布式跟蹤的信息別忘了在本站進行查找喔。

創(chuàng)新互聯(lián)-老牌IDC、云計算及IT信息化服務(wù)領(lǐng)域的服務(wù)供應(yīng)商,業(yè)務(wù)涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務(wù)、云計算服務(wù)、IT信息化、AI算力租賃平臺(智算云),軟件開發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220


本文標題:輕松學(xué)會Kafka數(shù)據(jù)庫查詢技巧(如何查看kafka里的數(shù)據(jù)庫)
文章來源:http://www.dlmjj.cn/article/dhgidog.html