日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

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

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

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

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

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

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

二、使用查詢選項(xiàng)

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

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

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

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

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

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

三、高級(jí)查詢技巧

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

1. 使用正則表達(dá)式: 在過(guò)濾數(shù)據(jù)時(shí),可以使用正則表達(dá)式來(lái)精確匹配所需數(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. 查詢某個(gè)特定時(shí)間段的數(shù)據(jù): 對(duì)于大型的日志數(shù)據(jù)庫(kù)來(lái)說(shuō),查詢整個(gè)數(shù)據(jù)集可能很花時(shí)間,如果我們只需要查詢某個(gè)特定時(shí)間段,可以使用以下命令:

./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

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

四、

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

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

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

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

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

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

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

Trace:所有共享相同根跨度的跨度,或者更簡(jiǎn)單地說(shuō),將所有跨度創(chuàng)建為原始請(qǐng)求的直接結(jié)果??缍鹊膶哟谓Y(jié)構(gòu)(每個(gè)跨度在根跨度旁邊都有自己的父跨度)可用于形成有向無(wú)環(huán)圖,顯示請(qǐng)求在通過(guò)各種組件時(shí)的路徑。

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

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

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

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

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

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

讓我們?cè)O(shè)計(jì)三個(gè) Spring Boot 微服務(wù):

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

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

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

第 1 步:添加 POM 依賴項(xiàng)

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

第 2 步:OpenTelemetry 配置

OpenTelemetry 收集器端點(diǎn)

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

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

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

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

OpenTelemetry 配置文件

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

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

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

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

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

快樂(lè)之路

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

啟動(dòng) Jaeger UI,

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

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

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

識(shí)別長(zhǎng)期運(yùn)行的跨度

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

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

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

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


新聞名稱:輕松學(xué)會(huì)Kafka數(shù)據(jù)庫(kù)查詢技巧(如何查看kafka里的數(shù)據(jù)庫(kù))
URL網(wǎng)址:http://m.5511xx.com/article/dhgidog.html