1. 程式人生 > >基於MYSQL的Binlog增量資料同步服務

基於MYSQL的Binlog增量資料同步服務

(by 劉延允)

系統工作原理

這裡寫圖片描述
基於MYSQL日誌增量資料同步原理:

  • 1、DBAsync偽裝自己為mysql slave,向mysql master傳送dump協議
  • 2、mysql master收到dump請求,開始推送binary log給DBAsync
  • 3、DBAsync解析binary log,將資料改動同步到下游(MQ、DB…)

DBAsync工作流程

這裡寫圖片描述
工作流程:

  • 1、啟動解析配置檔案。
  • 2、註冊響應處理函式。
  • 3、如果沒有binglog相關的資訊,執行mysqldump進行同步;並記錄相應的binglog資訊。
  • 4、通過COM_BINLOG_DUMP命令,將binglog的檔名、偏移量傳送給MYSQL。
  • 5、監聽Binglog的變更。
  • 6、獲取Binlog變更後進行解析,呼叫回撥函式。
  • 7、將變更編碼後傳送到下游。
  • 8、處理成功後儲存binlog檔名以及偏移量。
    注:呼叫處理函式多執行緒處理

HA機制設計【方案一】

![這裡寫圖片描述](https://img-blog.csdn.net/20160810164237913) **雙同步節點互為主備的工作過程:**
  • 1、DBAsync啟動後探測對端狀態;對端running,自己則進入standby;反之對端無響應或者standby,自己則進入running。
  • 2、處於running狀態的節點,將binlog的位置資訊回覆給探測請求;standby狀態節點儲存響應的binlog資訊。
  • 3、出現雙running狀態時,binlog資訊高版本的退出
    這裡寫圖片描述

HA機制設計【方案二】

這裡寫圖片描述
接入配置服務工作過程:

  • 1、由配置服務決定哪個是主。
  • 2、主服務更新binlog資訊到配置服務,主備切換的時候從配置服務獲取最新的binlog資訊。

相關推薦

基於MYSQL的Binlog增量資料同步服務

(by 劉延允) 系統工作原理 基於MYSQL日誌增量資料同步原理: 1、DBAsync偽裝自己為mysql slave,向mysql master傳送dump協議 2、mysql mast

Rsync資料同步服務

一、srync三種操作方式   1、本地間傳輸相當於cp命令 例1:將etc/hosts推送到/tmp下 rsync /etc/hosts /tmp 【1.1】資料同步 原始檔追加內容:echo “'hostname -I' www.yunjisuan.co

增量資料同步中介軟體

增量資料同步中介軟體DataLink分享(已開源) https://www.cnblogs.com/ucarinc/p/9770990.html 專案介紹 名稱: DataLink['deitə liŋk] 譯意: 資料鏈路,資料(自動)傳輸器 語言: 純java開發(JDK1.8+) 定位: 滿足各種異

增量資料同步中介軟體DataLink分享(已開源)

專案介紹 名稱: DataLink['deitə liŋk]譯意: 資料鏈路,資料(自動)傳輸器語言: 純java開發(JDK1.8+)定位: 滿足各種異構資料來源之間的實時增量同步,一個分散式、可擴充套件的資料同步系統開源地址:https://github.com/ucarGroup/DataLink 此次

Windows64環境下 使用Flume將Mysql增量資料同步到Kafka

一.軟體準備1.jdk1.74.maven 下載地址 二.安裝並啟動Kafka1.安裝kafka此步驟看文章,比較詳細,相信不會有問題2.按順序啟動kafka(windows cmd下)    2.1

Amazon Cognito使用者管理_身份驗證_資料同步服務

與您的應用程式輕鬆整合 藉助內建 UI 以及聯合身份提供商的簡單配置,您可以在幾分鐘內整合 Amazon Cognito,為您的應用程式新增使用者註冊、登入和訪問控制功能。您可以自定義 UI,從而將您的公司品牌置於所有使用者互動的首要和中心位置。

Amazon Cognito常見問題_資料同步服務

問:我能否使用自己的身份提供商來支援使用者註冊和登入功能? 可以。藉助 Cognito Identity,您可以輕鬆且安全地將註冊和登入功能新增到自己的應用程式。您的使用者可以使用電子郵件、手機號碼或使用者名稱進行註冊和登入。您也可以實現增強型安全功能,例如電子郵

Amazon Cognito價格_資料同步服務

如果您使用 Cognito Identity 建立一個使用者池,則只需按每月活躍使用者 (MAU) 付費。如果在某個日曆月內,某使用者有任何與身份相關的操作(如註冊、登入、令牌重新整理或密碼更改),該使用者即被計為 1 個 MAU。您無需為後續會話或該日曆月內的不活躍使用者付費。

基於SOA的資料同步方案

2.1 SOA及其相關技術     面向服務的體系架構(service—orientedarchitectI埔,SOA)是一種粗粒度、鬆耦合的服務結構。SOA是服務的集合,服務是最核心的抽象手段,業務被劃分(元件化)為一系列粗粒度的業務服務和業務流程嘲。服務通過基於標準、精

基於otter資料同步實驗搭建

目錄 一、實驗目的 二、實驗內容 三、資源劃分 四、元件的安裝配置 4.1 mysql資料庫的安裝 4.1.1前置條件 4.1.2下載地址 4.1.3 安裝 4.1.4 通過命令列連線mysql,修改許可權 4 mysql配置canal許可權 5

基於DataX將資料從Sqlserver同步到Oracle

DataX是阿里雲推出的一款開源的ETL工具,通過配置json檔案實現不同資料庫之間的資料同步。先有需求是從Sqlserver同步資料到Oracle,網上關於DataX的介紹很多。 框架設計 DataX本身作為離線資料同步框架,採用Framework + plugin架構構建。將資料來源讀取和寫入抽象

隨行付微服務資料同步Porter

前言 Porter是一款資料同步中介軟體,主要用於解決同構/異構資料庫之間的表級別資料同步問題。 背景 在微服務架構模式下深刻的影響了應用和資料庫之間的關係,不像傳統多個服務共享一個數據庫,微服務架構下每個服務都要有自己的資料庫。如果你想獲得微服務帶來的好處,每個服務獨有一個數據庫是必須的,因為微服務強

logstash-input-jdbc增量、全量資料同步

一、場景 筆者在mysql資料同步到ES中,發現第一次同步時需要全量的資料,之後則需要定時去同步增量資料,所以筆者提供增量和全量同步的conf供讀者參考 二、解決方案 1、全量資料同步 具體如何執行可參考https://blog.csdn.net/w_linux/articl

基於canal的實時資料同步

適用場景 使用canal做資料備份而不用mysql自帶的主從備份的場景主要為: 跨資料庫的資料備份,例如mysql => oracle 資料異構,即對同一份資料做不同的分庫分表查詢。例如賣家和買家各自分庫索引 maven <dependen

基於Webservice API 的資料同步的reset的實現

1、資料庫A主鍵增長值2  資料庫B主鍵增長值2 2、設計資料庫A的公共API 3、呼叫的實現  SqlConnection myconn = new SqlConnection("server=.;databa

Opera瀏覽器同步服務被黑,使用者資料和儲存密碼洩露

Opera公司的一臺用於儲存使用者同步資料的伺服器被攻破,如果使用者開啟了跨平臺資料同步功能,則儲存在瀏覽器中的使用者名稱密碼以及其他敏感資料都可能已被黑客獲取。目前Opera瀏覽器緊急重置了該伺服器上所有使用者的密碼。 在上週五承認黑客攻擊事實時,Opera方面表示: “儘管我們迅速封鎖了黑客的攻擊,但不幸

基於Apache Flume Datahub外掛將日誌資料同步上雲

本文用到的 簡介 Apache Flume是一個分散式的、可靠的、可用的系統,可用於從不同的資料來源中高效地收集、聚合和移動海量日誌資料到集中式資料儲存系統,支援多種Source和Sink外掛。本文將介紹如何使用Apache Flume的Datahub Sink外掛將日誌

使用mycat/otter基於binlog進行mysql擴充套件資料同步

目的:將資料庫DBA中的a表,實時同步到DBB庫中的b表,b表與a表相比多了一個新的欄位進行區分;部署:部署zk;新增zk/node/canal到manager控制;新增資料來源、資料表管理新增channel/pipeline/對映關係eventProcessor: pack

Amazon Macie 雲安全-基於機器學習的資料安全服務

Amazon Macie 是一種安全服務,可通過機器學習自動發現、分類和保護 AWS 中的敏感資料。Amazon Macie 可識別個人身份資訊 (PII) 或智慧財產權等敏感資料,併為您提供控制面板和警報,使您可以看到這些資料是如何被訪問或移動的。這一完全託管的服務可持續監控資料訪問活

基於檔案的離線資料同步方案

產品此前的資料備份方案,存在不少問題,所以需要設計一個新的方案。本文總結一下新舊方案的優劣 首先APP是一個支援離線的應用。本地資料儲存在sqlite,在離線環境下,在本地資料庫裡讀寫記錄,在有網路的