中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

蘇州網(wǎng)站建設(shè)公司電話深度搜索

蘇州網(wǎng)站建設(shè)公司電話,深度搜索,平臺(tái)設(shè)計(jì)圖,怎么看一個(gè)網(wǎng)站是用什么代碼做的文章目錄 一、canal概念二、canal使用場景四、Canal工作原理Mysql主從復(fù)制原理 binlog中的二進(jìn)制日志binlog格式選擇 Canal消費(fèi)方式應(yīng)用實(shí)踐總結(jié) 一、canal概念 canal是用java開發(fā)的基于數(shù)據(jù)庫增量日志解析,提供增量數(shù)據(jù)訂閱&消費(fèi)的中間件。目前,ca…

文章目錄

  • 一、canal概念
  • 二、canal使用場景
  • 四、Canal工作原理
    • Mysql主從復(fù)制原理
  • binlog中的二進(jìn)制日志
    • binlog格式選擇
  • Canal消費(fèi)方式
  • 應(yīng)用實(shí)踐
  • 總結(jié)


一、canal概念

canal是用java開發(fā)的基于數(shù)據(jù)庫增量日志解析,提供增量數(shù)據(jù)訂閱&消費(fèi)的中間件。目前,canal主要支持了MySQL的binlog解析,解析完成后才利用canal client 用來處理獲得的相關(guān)數(shù)據(jù)。(數(shù)據(jù)庫同步需要阿里的otter中間件,基于canal)

二、canal使用場景

(1)中間件的使用——用于監(jiān)聽獲取變更數(shù)據(jù)
阿里otter(阿里用于進(jìn)行異地?cái)?shù)據(jù)庫之間的同步框架)中間件的一部分,這是原始場景
圖片來源對線JAVA面試
在這里插入圖片描述
(2)更新緩存
如果有大量的請求發(fā)送到mysql的話,mysql查詢速度慢,QPS上不去,光查mysql可能會(huì)癱瘓,那就可以在前面加個(gè)緩存,這個(gè)緩存有2個(gè)主要的問題。一是緩存沒有怎么辦,二是數(shù)據(jù)不一致怎么辦。對于第一個(gè)問題查緩存沒有就差mysql,mysql再往緩存中寫一份。對于第二個(gè)問題,如果數(shù)據(jù)庫修改了,那就采用異步的方式進(jìn)行修改,啟動(dòng)一個(gè)canal服務(wù),監(jiān)控mysql,只要一有變化就同步緩存,這樣mysql和緩存就能達(dá)到最終的一致性。
(3)抓取業(yè)務(wù)數(shù)據(jù)新增變化表,用于制作拉鏈表:做拉鏈表是需要有增加時(shí)間和修改時(shí)間的,需要數(shù)據(jù)今天新增和變化的數(shù)據(jù),如果時(shí)間不全就沒辦法知道哪些是修改的??梢酝ㄟ^canal把變化的抽到自己的表里,以后數(shù)據(jù)就從這個(gè)表出。
(4)取業(yè)務(wù)表的新增變化數(shù)據(jù),用于制作實(shí)時(shí)統(tǒng)計(jì)

四、Canal工作原理

  • canal 模擬 MySQL slave 的交互協(xié)議,偽裝自己為 MySQL slave ,向 MySQL master 發(fā)送dump 協(xié)議。
  • MySQL master 收到 dump 請求,開始推送 binary log 給 slave (即 canal )。
  • canal 解析 binary log 對象(原始為 byte 流)。

Mysql主從復(fù)制原理

MySQL 的主從復(fù)制依賴于 binlog ,也就是記錄 MySQL 上的所有變化并以二進(jìn)制形式保存在磁盤上。復(fù)制的過程就是將 binlog 中的數(shù)據(jù)從主庫傳輸?shù)綇膸焐稀?/p>

這個(gè)過程一般是異步的,也就是主庫上執(zhí)行事務(wù)操作的線程不會(huì)等待復(fù)制 binlog 的線程同步完成。在這里插入圖片描述
MySQL 集群的主從復(fù)制過程梳理成 3 個(gè)階段:

  • 寫入 Binlog:主庫寫 binlog 日志,提交事務(wù),并更新本地存儲(chǔ)數(shù)據(jù)。
  • 同步 Binlog:把 binlog 復(fù)制到所有從庫上,每個(gè)從庫把 binlog 寫到暫存日志中。
  • 回放 Binlog:回放 binlog,并更新存儲(chǔ)引擎中的數(shù)據(jù)。

具體詳細(xì)過程如下:

  • MySQL 主庫在收到客戶端提交事務(wù)的請求之后,會(huì)先寫入 binlog,再提交事務(wù),更新存儲(chǔ)引擎中的數(shù)據(jù),事務(wù)提交完成后,返回給客戶端“操作成功”的響應(yīng)。
  • 從庫會(huì)創(chuàng)建一個(gè)專門的 I/O 線程,連接主庫的 log dump 線程,來接收主庫的 binlog 日志,再把 binlog 信息寫入 relay log 的中繼日志里,再返回給主庫“復(fù)制成功”的響應(yīng)。
  • 從庫會(huì)創(chuàng)建一個(gè)用于回放 binlog 的線程,去讀 relay log 中繼日志,然后回放 binlog 更新存儲(chǔ)引擎中的數(shù)據(jù),最終實(shí)現(xiàn)主從的數(shù)據(jù)一致性。

在完成主從復(fù)制之后,你就可以在寫數(shù)據(jù)時(shí)只寫主庫,在讀數(shù)據(jù)時(shí)只讀從庫,這樣即使寫請求會(huì)鎖表或者鎖記錄,也不會(huì)影響讀請求的執(zhí)行。

在這里插入圖片描述

binlog中的二進(jìn)制日志

mysql的二進(jìn)制日志記錄了所有的DDL和DML(除了數(shù)據(jù)查詢語句),以事件的形式進(jìn)行記錄,包含語句執(zhí)行消耗的時(shí)間,mysql的二進(jìn)制日志是事務(wù)安全型的。
??開啟二進(jìn)制日志大概會(huì)有1%的性能損壞。二進(jìn)制日志有2個(gè)主要的使用場景:①mysql的主備復(fù)制②數(shù)據(jù)恢復(fù),通過使用mysqlbinlog工具來恢復(fù)數(shù)據(jù)(用這個(gè)做恢復(fù)是備選方案,主方案還是定期快照,定期執(zhí)行腳本導(dǎo)數(shù)據(jù),其實(shí)就是把當(dāng)前所有數(shù)據(jù)導(dǎo)成insert,這個(gè)量少)
??二進(jìn)制日志包括2類文件:①二進(jìn)制日志索引文件(后綴為.index)用于記錄所有的二進(jìn)制文件②二進(jìn)制日志文件(后綴為.00000*)記錄數(shù)據(jù)庫所有的DDL和DML(除了數(shù)據(jù)查詢語句)
在這里插入圖片描述

binlog格式選擇

如果只考慮主從復(fù)制的話可以用mixed,一般情況下使用statement,遇到幾種特殊情況使用row,同步的話有SQL就行,因?yàn)槭掷镉袛?shù)據(jù),前提是有數(shù)據(jù)才能執(zhí)行這個(gè)SQL。在大數(shù)據(jù)場景下我們抽取數(shù)據(jù)是用于統(tǒng)計(jì)分析,分析的數(shù)據(jù),如果用statement抽了SQL手里也沒數(shù)據(jù),不知道執(zhí)行修改哪些,因?yàn)闆]有數(shù)據(jù),所以沒辦法分析,所以適合用row,清清楚楚的表明了每一行是什么樣。

Canal消費(fèi)方式

Canal在偽裝成為目標(biāo)MySQL的一個(gè)Slave節(jié)點(diǎn)后,獲取到來自主節(jié)點(diǎn)的BinaryLog日志內(nèi)容。那么作為BinaryLog消費(fèi)者該如何使用canal監(jiān)聽得到的內(nèi)容呢。Canal為我們提供了兩種類型的方式,直接消費(fèi)投遞。直接消費(fèi)即使用Canal配套提供的客戶端程序,即時(shí)消費(fèi)Canal的監(jiān)聽內(nèi)容。投遞是指配置指定的MQ類型以及對應(yīng)信息,Canal將會(huì)按照BinaryLog的條目投遞到指定的MQ下,再交由MQ為各種消費(fèi)形式提供數(shù)據(jù)消費(fèi)。

應(yīng)用實(shí)踐

  • 監(jiān)聽字段更新

使用Canal對指定的指標(biāo)表進(jìn)行監(jiān)聽,對指標(biāo)表的更新數(shù)據(jù)Binlog進(jìn)行解析,然后以日志形式記錄。針對每一條數(shù)據(jù)內(nèi)容能夠識別到具體的指標(biāo),把當(dāng)前更新的數(shù)據(jù)信息記錄到庫表中。再按照對應(yīng)的指標(biāo)更新要求,感知更新日志表的數(shù)據(jù)庫,就能夠確保及時(shí)知道指標(biāo)的更新頻次是否符合預(yù)期,指標(biāo)數(shù)據(jù)每次更新的數(shù)據(jù)內(nèi)容,做到更新頻次可監(jiān)控,更新數(shù)據(jù)變動(dòng)可追溯。
在這里插入圖片描述

  • 數(shù)據(jù)同步實(shí)時(shí)化
    為了使數(shù)據(jù)能夠進(jìn)行實(shí)時(shí)同步,決定使用Canal接入到外部數(shù)據(jù)庫,然后把Canal監(jiān)聽的BinaryLog接入到新建設(shè)的MySQL庫中,使得兩邊的數(shù)據(jù)庫數(shù)據(jù)同步延遲僅有秒級差異。Canal的接入也使得每日執(zhí)行的同步任務(wù)得以取消,減少了額外的系統(tǒng)維護(hù)工作。而且BinaryLog的監(jiān)聽推送對外部數(shù)據(jù)庫性能來說影響較少。

  • 增量數(shù)據(jù)投遞消費(fèi)
    此外,Canal投遞消費(fèi)能力能夠拓展數(shù)據(jù)增量改動(dòng)的體現(xiàn)形式。Canal把感知到的數(shù)據(jù)庫變動(dòng)內(nèi)容投遞到指定的MQ Topic,為后續(xù)的消費(fèi)途徑提供多樣性。如:Canal訂閱指定數(shù)據(jù)表的變動(dòng)數(shù)據(jù)投遞到Datahub中,投遞的內(nèi)容就如上面的數(shù)據(jù)結(jié)構(gòu)展示。允許借助Blink計(jì)算平臺(tái)對數(shù)據(jù)進(jìn)行感知整合,實(shí)現(xiàn)業(yè)務(wù)場景的下聚合統(tǒng)計(jì)等實(shí)時(shí)計(jì)算訴求;也能夠開放Datahub的Topic訂閱權(quán)限,把增量數(shù)據(jù)的變動(dòng)開發(fā)到指定使用者,提供實(shí)時(shí)數(shù)據(jù)變動(dòng)推送。
    在這里插入圖片描述

總結(jié)

這個(gè)cannal與美團(tuán)中的DTS比較類似,業(yè)務(wù)需求中可能監(jiān)聽表的插入、更新、刪除的操作,然后發(fā)送mafka消息。

參考:
第一個(gè)

第二個(gè)

http://www.risenshineclean.com/news/36225.html

相關(guān)文章:

  • 湖南網(wǎng)站建設(shè)小公司搜索引擎的工作原理有哪些
  • ip網(wǎng)站架設(shè)上海推廣外包
  • wordpress主題開發(fā)404頁面網(wǎng)站優(yōu)化課程培訓(xùn)
  • 湖南做網(wǎng)站 x磐石網(wǎng)絡(luò)關(guān)鍵詞如何快速排名
  • 上蔡做網(wǎng)站企業(yè)如何進(jìn)行網(wǎng)絡(luò)推廣
  • 注冊完域名后如何做網(wǎng)站快速seo軟件
  • ps做網(wǎng)站首頁的尺寸渠道策略的四種方式
  • 酒店設(shè)計(jì)網(wǎng)站推薦百度學(xué)術(shù)搜索入口
  • 設(shè)計(jì)網(wǎng)站怎樣做色卡百度快照排名
  • 電子商務(wù)網(wǎng)站建設(shè)特點(diǎn)網(wǎng)絡(luò)營銷策劃方案范文
  • wordpress 視頻不播放seo標(biāo)題優(yōu)化的心得總結(jié)
  • 網(wǎng)站建設(shè)安全級別自媒體平臺(tái)收益排行榜
  • 宜賓做網(wǎng)站公司營銷策略都有哪些
  • 用html5做的美食網(wǎng)站百度明星人氣榜入口
  • 網(wǎng)站建設(shè)服務(wù)百度com百度一下你
  • 免費(fèi)網(wǎng)站建設(shè)哪個(gè)好 - 百度百度新聞排行榜
  • 竹子建站怎么樣上海優(yōu)化網(wǎng)站seo公司
  • 攜程電子商務(wù)網(wǎng)站建設(shè)微信營銷的方法
  • wordpress建站如何制作微信seo顧問能賺錢嗎
  • 營銷網(wǎng)站搭建百度指數(shù)是搜索量嗎
  • 建設(shè)銀行網(wǎng)站是多少南京百度網(wǎng)站快速優(yōu)化
  • 互聯(lián)網(wǎng)公司網(wǎng)站模板百度極速版app下載安裝掙錢
  • 藍(lán)牙 技術(shù)支持 東莞網(wǎng)站建設(shè)安卓優(yōu)化大師官方版
  • 佛山做網(wǎng)站哪家公司最好seo需要培訓(xùn)才能找到工作嗎
  • 做視頻鏈接網(wǎng)站seo網(wǎng)址大全
  • 用什么系統(tǒng)做威客網(wǎng)站seo教學(xué)實(shí)體培訓(xùn)班
  • 廣州做網(wǎng)站建設(shè)的公司泰安百度公司代理商
  • 網(wǎng)站建設(shè) 維護(hù)購銷合同長春seo按天計(jì)費(fèi)
  • 杭州市建設(shè)網(wǎng)站網(wǎng)上推廣企業(yè)
  • 如何 套用模板做網(wǎng)站線上營銷模式