您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
01 redis發布訂閱和kafka效率(canal+Kafka實現mysql與redis數據同步)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-24 08:52:53【】9人已围观
简介Kafka,Mq和Redis作為消息隊列使用kafka是個日志處理緩沖組件,在大數據信息處理中使用。和傳統的消息隊列相比較簡化了隊列結構和功能,以流形式處理存儲(持久化)消息(主要是日志)。日志數據量
Kafka,Mq和Redis作為消息隊列使用
kafka是個日志處理緩沖組件,在大數據信息處理中使用。和傳統的消息隊列相比較簡化了隊列結構和功能,以流形式處理存儲(持久化)消息(主要是日志)。日志數據量巨大,處理組件一般會處理不過來,所以作為緩沖層的kafka,支持巨大吞吐量。為了防止信息丟失,其消息被調用后不直接丟棄,要多存儲一段時間,等過期時間過了才丟棄。這是mq和redis不能具備的。主要特點如下:巨型存儲量: 支持TB甚至PB級別數據。高吞吐,高IO:一般配置的服務器能實現單機每秒100K以上消息的傳輸。消息分區,分布式消費:能保消息順序傳輸。 支持離線數據處理和實時數據處理。Scale out:支持在線水平擴展,以支持更大數據處理量
redis只是提供一個高性能的、原子操作內存鍵值對,具有高速訪問能力,可用做消息隊列的存儲,但是不具備消息隊列的任何功能和邏輯,要作為消息隊列來實現的話,功能和邏輯要通過上層應用自己實現。
我們以RabbitMQ為例介紹。它是用Erlang語言開發的開源的消息隊列,支持多種協議,包括AMQP,XMPP, SMTP, STOMP。適合于企業級的開發。
MQ支持Broker構架,消息發送給客戶端時需要在中心隊列排隊。對路由,負載均衡或者數據持久化都有很好的支持。
還有ActiveMq,ZeroMq等。功能基本上大同小異。并發吞吐TPS比較,ZeroMq 最好,RabbitMq 次之, ActiveMq 最差。
原文:
canal+Kafka實現mysql與redis數據同步
前言
上篇文章簡單介紹canal概念,本文結合常見的緩存業務去講解canal使用。在實際開發過程中,通常都會把數據往redis緩存中保存一份,做下簡單的查詢優化。如果這時候數據庫數據發生變更操作,就不得不在業務代碼中寫一段同步更新redis的代碼,但是這種 數據同步的代碼和業務代碼糅合在一起 看起來不是很優雅,而且還會出現數據不一致問題。那能不能把這部分同步代碼從中抽離出來,形成獨立模塊呢?答案是肯定的,下面通過canal結合Kafka來實現mysql與redis之間的數據同步。
架構設計
通過上述結構設計圖可以很清晰的知道用到的組件:MySQL、Canal、Kafka、ZooKeeper、Redis。
Kafka&Zookeeper搭建
首先在 官網 下載Kafka:
下載后解壓文件夾,可以看到以下幾個文件:
Kafka內部自帶了zookeeper,所以暫不需要去下載搭建zookeeper集群,本文就使用Kafka自帶zookeeper來實現。
通過上述zookeeper啟動命令以及Kafka啟動命令把服務啟動,可以通過以下簡單實現下是否成功:
Canal搭建
canal搭建具體可以參考上文,這里只講解具體的參數配置:
找到/買粉絲nf目錄下的canal.properties配置文件:
然后配置instance,找到/買粉絲nf/example/instance.properties配置文件:
經過上述配置后,就可以啟動canal了。
測試
環境搭建完成后,就可以編寫代碼進行測試。
1、引入pom依賴
2、封裝Redis工具類
在application.yml文件增加以下配置:
封裝一個操作Redis的工具類:
3、創建MQ消費者進行同步
創建一個CanalBean對象進行接收:
最后就可以創建一個消費者CanalConsumer進行消費:
測試Mysql與Redis同步
mysql對應的表結構如下:
啟動項目后,新增一條數據:
可以在控制臺看到以下輸出:
如果更新呢?試一下Update語句:
同樣可以在控制臺看到以下輸出:
經過測試完全么有問題。
總結
既然canal這么強大,難道就沒缺點嘛?答案當然是存在的啦,比如:canal只能同步增量數據、不是實時同步而是準實時同步、MQ順序問題等; 盡管有一些缺點,畢竟沒有一樣技術或者產品是完美的,最重要是合適。比如公司目前有個視圖服務提供寬表搜索查詢功能就是通過 同步Mysql數據到Es采用Canal+Kafka的方式來實現的。
什么是大數據技術?大數據的概念
大數據技術是指大數據的應用技術,涵蓋各類大數據平臺、大數據指數體系等大數據應用技術。
大數據是指無法在一定時間范圍內用常規軟件工具進行捕捉、管理和處理的數據集合。是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產。
隨著云時代的來臨,大數據也吸引了越來越多的關注。分析師團隊認為,大數據通常用來形容一個公司創造的大量非結構化數據和半結構化數據,這些數據在下載到關系型數據庫用于分析時會花費過多時間和金錢。
大數據分析常和云計算聯系到一起,因為實時的大型數據集分析需要像MapRece一樣的框架來向數十、數百或甚至數千的電腦分配工作。
擴展資料:
大數據的三個層面:
大數據培訓課程都包含哪些內容
簡單來講是學習Java、數據結構、關系型數據庫、linux系統操作、hadoop離線分析、Storm實時計算、spark內存計算以及實操課程
復雜的話,就是每個大的知識點里都包含著很多小的知識點,這可以參考(青牛的課程)
很赞哦!(5279)
相关文章
- 01 在國際貿易中哪個因素不屬于成本因素(商品的價格是由什么決定的)
- 06 粉絲來店里買東西文案(抖音上買東西,會增加粉絲嗎)
- 06 第一季度歐盟對外貿易進口總額(2011年國際貿易現狀)
- 06 籃球比賽結束買粉絲推文文案(平安夜買粉絲推文文案)
- 01 在買粉絲搜索的關鍵詞管理員可以看到嗎(在買粉絲搜索的關鍵詞管理員可以看到嗎)
- 01 在中國下載完ins怎么用不了(ins為啥注冊不了網絡正常)
- 01 在專賣店給粉絲買禮物的真的假的(怎樣看待粉絲給主播送禮物)
- 06 空運費預付的貿易條款(國際貿易合同)
- 06 粉絲上門買小狗(小紅書多少粉絲廠家會上門)
- 01 在國際貿易中,一項合同的有效成立都必須經過詢盤(國際貿易交易磋商的主要步驟有哪些)
热门文章
站长推荐
01 在國際貿易中,木材天然氣(外貿業務操作,國際貿易實務的作業。高手幫幫忙!! 不定項選擇題)
01 在四川稅務買粉絲買了醫療保險怎么查詢(四川稅務買粉絲社保繳費)
01 在學校買粉絲留言學校會發現嗎(在學校買粉絲里向學校反映情況學校領導能看到嗎?)
01 在義烏怎么做外貿生意(首批包機外商將直奔義烏,為何義務的商業貿易如此發達)
01 在國內做tiktok合法嗎(tiktok在國內能用嗎?)
01 在互聯網營銷中怎樣掌握社交媒體營銷(社交媒體營銷包括哪些方面?應該如何做?)
01 在國際貿易中運輸標志的式樣和文字一般有(國際貿易中,表準運輸標志由哪幾部分構成?)
01 在支付寶訂閱電視的會員連續包月怎么取消(優酷在支付寶上連續包月怎么取消?)