国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

kafka線上問(wèn)題優(yōu)化

這篇具有很好參考價(jià)值的文章主要介紹了kafka線上問(wèn)題優(yōu)化。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

如何防止消息丟失

  • 生產(chǎn)者:
    1. 使用同步發(fā)送
    2. 把a(bǔ)ck設(shè)成1或者all(非0,0可能會(huì)出現(xiàn)消息丟失的情況),并且設(shè)置同步的分區(qū)數(shù)>=2
  • 消費(fèi)者:把自動(dòng)提交改成手動(dòng)提交

如何防止重復(fù)消費(fèi)

在防止消息丟失的方案中,如果生產(chǎn)者發(fā)送完消息后,因?yàn)榫W(wǎng)絡(luò)抖動(dòng),沒(méi)有收到ack,但實(shí)際上broker已經(jīng)收到了。此時(shí)生產(chǎn)者會(huì)進(jìn)行重試,于是broker就會(huì)收到多條相同的消息,而造成消費(fèi)者的重復(fù)消費(fèi)。

如何解決:

  • 生產(chǎn)者關(guān)閉重試:雖不會(huì)發(fā)送相同消息,但會(huì)造成丟消息(不建議)【同步發(fā)送消息并且開(kāi)啟重試,ack設(shè)置為1或者all
  • 消費(fèi)者解決非冪等性消費(fèi)問(wèn)題

所謂的冪等性:多次訪問(wèn)的結(jié)果是?樣的。對(duì)于rest的請(qǐng)求(get(冪等)、post(非冪等)、put(冪等)、delete(冪等))

解決方案:

  • 在數(shù)據(jù)庫(kù)中創(chuàng)建聯(lián)合主鍵,防止相同的主鍵創(chuàng)建出多條記錄
  • 使用分布式鎖,以業(yè)務(wù)id為鎖。保證只有?條記錄能夠創(chuàng)建成功(setnx

kafka線上問(wèn)題優(yōu)化,cloud,mq,kafka,分布式

如何做到消息的順序消費(fèi)(效率不高,RocketMQ)

  • 生產(chǎn)者:保證消息按順序發(fā)送,且消息不丟失——使用同步的發(fā)送,ack設(shè)置成非0的值。
  • 消費(fèi)者:主題只能設(shè)置?個(gè)分區(qū),消費(fèi)組中只能有一個(gè)消費(fèi)者【消費(fèi)者只能限制單partition順序消費(fèi),這種效率不高】

kafka的順序消費(fèi)使用場(chǎng)景不多,因?yàn)闋奚袅诵阅?,但是比如rocketmq在這?塊有專門的功能已設(shè)計(jì)好。

如何解決消息積壓?jiǎn)栴}

kafka線上問(wèn)題優(yōu)化,cloud,mq,kafka,分布式

積壓的消息越多,消費(fèi)者消費(fèi)越慢(尋址越來(lái)越慢),越慢積壓越多,死循環(huán),導(dǎo)致整個(gè)kafka集群磁盤IO都很慢導(dǎo)致多個(gè)服務(wù)不可用

1.消息積壓?jiǎn)栴}的出現(xiàn)

消費(fèi)者消費(fèi)消息速度遠(yuǎn)趕不上生產(chǎn)者生產(chǎn)消息的速度,導(dǎo)致kafka中有大量的數(shù)據(jù)沒(méi)有被消費(fèi)。隨著沒(méi)有被消費(fèi)的數(shù)據(jù)堆積越多,消費(fèi)者尋址的性能會(huì)越來(lái)越差,最后導(dǎo)致整個(gè)kafka對(duì)外提供的服務(wù)的性能很差,從而造成其他服務(wù)也訪問(wèn)速度變慢,造成服務(wù)雪崩。

2.消息積壓的解決方案

  • 消費(fèi)者中,使用多線程,充分利用機(jī)器的性能進(jìn)行消費(fèi)消息。
  • 通過(guò)業(yè)務(wù)的架構(gòu)設(shè)計(jì),提升業(yè)務(wù)層面消費(fèi)的性能。
  • 創(chuàng)建多個(gè)消費(fèi)組,多個(gè)消費(fèi)者,部署到其他機(jī)器上,?起消費(fèi),提高消費(fèi)者的消費(fèi)速度
  • 創(chuàng)建?個(gè)消費(fèi)者,該消費(fèi)者在kafka另建?個(gè)主題,配上多個(gè)分區(qū),多個(gè)分區(qū)再配上多個(gè)消費(fèi)者。該消費(fèi)者將poll下來(lái)的消息,不進(jìn)行消費(fèi),直接轉(zhuǎn)發(fā)到新建的主題上。此時(shí),新的主題的多個(gè)分區(qū)的多個(gè)消費(fèi)者就開(kāi)始?起消費(fèi)了?!怀S?/li>

kafka線上問(wèn)題優(yōu)化,cloud,mq,kafka,分布式

實(shí)現(xiàn)延時(shí)隊(duì)列的效果(實(shí)現(xiàn)比較費(fèi)勁,RabbitMQ)

1.應(yīng)用場(chǎng)景

訂單創(chuàng)建后,超過(guò)30分鐘沒(méi)有?付,則需要取消訂單,這種場(chǎng)景可以通過(guò)延時(shí)隊(duì)列來(lái)實(shí)現(xiàn)

2.具體方案

kafka線上問(wèn)題優(yōu)化,cloud,mq,kafka,分布式文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-652353.html

  1. kafka中創(chuàng)建相應(yīng)的主題,每個(gè)topic表示延時(shí)的間隔
    • topic_5s: 延時(shí)5s執(zhí)行的隊(duì)列
    • topic_1m: 延時(shí)1分鐘執(zhí)行的隊(duì)列
    • topic_30m: 延時(shí)30分鐘執(zhí)行的隊(duì)列
  2. 消息發(fā)送者發(fā)送消息到相應(yīng)的topic,并帶上消息的發(fā)送時(shí)間
  3. 消費(fèi)者訂閱相應(yīng)的topic,消費(fèi)該主題的消息(輪詢)
  4. 消費(fèi)者消費(fèi)消息時(shí)判斷消息的創(chuàng)建時(shí)間和當(dāng)前時(shí)間是否超過(guò)30分鐘(前提是訂單沒(méi)支付)
    • 如果是:去數(shù)據(jù)庫(kù)中修改訂單狀態(tài)為已取消
    • 如果否:記錄當(dāng)前消息的offset,并不再繼續(xù)消費(fèi)之后的消息。等待1分鐘后,再次向kafka拉取該offset及之后的消息,繼續(xù)進(jìn)行判斷,以此反復(fù)。

到了這里,關(guān)于kafka線上問(wèn)題優(yōu)化的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 分布式鏈路追蹤專欄,Spring Cloud Sleuth:分布式鏈路追蹤之通信模型設(shè)計(jì)

    分布式鏈路追蹤專欄,Spring Cloud Sleuth:分布式鏈路追蹤之通信模型設(shè)計(jì)

    Spring Cloud Sleuth ?賦予分布式跟蹤的 ?Spring Boot? 自動(dòng)配置的一鍵解決方案。 Spring Cloud Sleuth? 是基于 ?Brave? 的封裝,也是很多公司采用開(kāi)源加自研的最佳解決方案。 那么從作為架構(gòu)師或者技術(shù)專家如何去借鑒優(yōu)秀框架的設(shè)計(jì)理念和思想,本次? Chat? 將開(kāi)啟作者既分布式鏈路

    2024年01月19日
    瀏覽(27)
  • 使用Spring Cloud構(gòu)建分布式應(yīng)用

    Spring Cloud是一組構(gòu)建分布式系統(tǒng)的框架,它提供了各種工具和庫(kù),幫助開(kāi)發(fā)人員構(gòu)建高可用、可伸縮、靈活的分布式應(yīng)用程序。本文將介紹如何使用Spring Cloud構(gòu)建分布式應(yīng)用程序。 微服務(wù)架構(gòu) Spring Cloud是基于微服務(wù)架構(gòu)設(shè)計(jì)的,該架構(gòu)將應(yīng)用程序劃分為一組小型、自治的服

    2024年02月06日
    瀏覽(95)
  • Spring Cloud Sleuth:分布式鏈路跟蹤

    1.1 什么是分布式鏈路跟蹤 在分布式系統(tǒng)中,由于服務(wù)間的調(diào)用涉及多個(gè)節(jié)點(diǎn)和網(wǎng)絡(luò)通信,出現(xiàn)問(wèn)題時(shí)追蹤問(wèn)題的根源變得異常困難。分布式鏈路跟蹤是一種技術(shù),旨在解決這個(gè)問(wèn)題。它允許開(kāi)發(fā)人員追蹤分布式系統(tǒng)中請(qǐng)求的流轉(zhuǎn)路徑,從而定位和解決性能問(wèn)題、異常和錯(cuò)誤

    2024年02月21日
    瀏覽(44)
  • 【Spring Cloud】Spring Cloud Alibaba-- 分布式事務(wù)Seata原理

    【Spring Cloud】Spring Cloud Alibaba-- 分布式事務(wù)Seata原理

    Seata 是一款開(kāi)源的分布式事務(wù)解決方案,致力于提供高性能與簡(jiǎn)單易用的分布式事務(wù)服務(wù),為用戶提供了 AT、TCC、SAGA 和 XA 幾種不同的事務(wù)模式: AT模式:無(wú)侵入式的分布式事務(wù)解決方案,適合不希望對(duì)業(yè)務(wù)進(jìn)行改造的場(chǎng)景,但由于需要添加全局事務(wù)鎖,對(duì)影響高并發(fā)系統(tǒng)的

    2024年02月08日
    瀏覽(23)
  • Spring Cloud之Config分布式配置應(yīng)?

    Spring Cloud之Config分布式配置應(yīng)?

    . 右鍵??程【 yx-parent 】選擇【 New 】 - 【 Module 】選項(xiàng),然后選擇創(chuàng)建【 Maven 】類型項(xiàng)?(不勾選模 板),將項(xiàng)?名稱設(shè)置為【yx-cloud-config 】。 ? 在 yx-cloud-config ?程的 pom.xml?件中引?以下依賴坐標(biāo)(需要將??注冊(cè)到 Eureka )。 在 com.yx.config 包下創(chuàng)建 ConfigApplication 啟

    2024年02月15日
    瀏覽(32)
  • 理解 Spring Cloud 分布式配置中心Eureka

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) 在 Spring Cloud 的世界里,分布式系統(tǒng)經(jīng)歷了開(kāi)發(fā)、測(cè)試、運(yùn)維三個(gè)階段。而在開(kāi)發(fā)階段,通常采用集中式配置方式,將所有配置文件統(tǒng)一管理在一臺(tái)服務(wù)器上。隨著業(yè)務(wù)系統(tǒng)的不斷擴(kuò)張,各個(gè)微服務(wù)模塊都需要配置自己的屬性值。因此,需要一

    2024年02月08日
    瀏覽(98)
  • 十六、Spring Cloud Sleuth 分布式請(qǐng)求鏈路追蹤

    十六、Spring Cloud Sleuth 分布式請(qǐng)求鏈路追蹤

    1、為什么出出現(xiàn)這個(gè)技術(shù)?需要解決哪些問(wèn)題 2、是什么? 官網(wǎng): https://github.com/spring-cloud/spring-cloud-sleuth spring-cloud-sleuth 提供了一套完整的分布式鏈路追蹤的解決方案 ,并且兼容支持了 zipkin (展現(xiàn)) 3、解決 1、下載運(yùn)行zipkin 下載jar包到本地 https://repo1.maven.org/maven2/io/zipkin/

    2024年02月12日
    瀏覽(27)
  • 【大數(shù)據(jù)工具】Kafka偽分布式、分布式安裝和Kafka-manager工具安裝與使用

    【大數(shù)據(jù)工具】Kafka偽分布式、分布式安裝和Kafka-manager工具安裝與使用

    Kafka 安裝包下載地址:https://archive.apache.org/dist/kafka/ 1. Kafka 偽分布式安裝 1. 上傳并解壓 Kafka 安裝包 使用 FileZilla 或其他文件傳輸工具上傳 Kafka 安裝包: kafka_2.11-0.10.0.0.tgz 解壓安裝包 2. 編輯配置文件 3. 拷貝并修改配置文件 分別修改 server2.properties、server3.properties 4. 創(chuàng)建日志

    2024年02月14日
    瀏覽(57)
  • Spring Cloud——演進(jìn)與應(yīng)用的分布式系統(tǒng)開(kāi)發(fā)利器

    Spring Cloud——演進(jìn)與應(yīng)用的分布式系統(tǒng)開(kāi)發(fā)利器

    ??作者簡(jiǎn)介: 花想云 ,目前大二在讀 ,C/C++領(lǐng)域新星創(chuàng)作者、運(yùn)維領(lǐng)域新星創(chuàng)作者、CSDN2023新星計(jì)劃導(dǎo)師、CSDN內(nèi)容合伙人、阿里云專家博主、華為云云享專家 ?? 專欄推薦: C語(yǔ)言初階系列 、 C語(yǔ)言進(jìn)階系列 、 C++系列 、 數(shù)據(jù)結(jié)構(gòu)與算法 、 Linux從入門到精通 ??個(gè)人聯(lián)系方

    2024年02月08日
    瀏覽(21)
  • 分布式消息服務(wù)kafka

    分布式消息服務(wù)kafka

    什么是消息中間件? 消息中間件是分布式系統(tǒng)中重要的組件,本質(zhì)就是一個(gè)具有接收消息、存儲(chǔ)消息、分發(fā)消息的隊(duì)列,應(yīng)用程序通過(guò)讀寫隊(duì)列消息來(lái)通信。 例如:在淘寶購(gòu)物時(shí),訂單系統(tǒng)處理完訂單后,把訂單消息發(fā)送到消息中間件中,由消息中間件將訂單消息分發(fā)到下

    2024年02月01日
    瀏覽(23)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包