一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Gravity數(shù)據(jù)復(fù)制組件的安裝

麥辣雞腿堡 ? 來源:CSDN博客 ? 作者:jerry-89 ? 2023-01-22 15:48 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Gravity 是一款數(shù)據(jù)復(fù)制組件,提供全量、增量數(shù)據(jù)同步,以及向消息隊列發(fā)布數(shù)據(jù)更新。

DRC 的設(shè)計目標(biāo)是:

支持多種數(shù)據(jù)源和目標(biāo)的,可靈活定制的數(shù)據(jù)復(fù)制組件
支持基于 Kubernetes 的 PaaS 平臺,簡化運維任務(wù)

使用場景

大數(shù)據(jù)總線:發(fā)送 MySQL BinlogMongo Oplog 的數(shù)據(jù)變更到 kafka 供下游消費
單向數(shù)據(jù)同步:MySQL --> MySQL 的全量、增量同步
雙向數(shù)據(jù)同步:MySQL <--> MySQL 的雙向增量同步,同步過程中可以防止循環(huán)復(fù)制
分庫分表到合庫的同步:MySQL 分庫分表 --> 合庫的同步,可以指定源表和目標(biāo)表的對應(yīng)關(guān)系
在線數(shù)據(jù)變換:同步過程中,可支持對進行數(shù)據(jù)變換

image.png

Gravity是摩拜單車數(shù)據(jù)庫團隊自研的一套數(shù)據(jù)復(fù)制組件,目前已經(jīng)穩(wěn)定支撐了摩拜單車公司數(shù)百條同步通道,TPS 50000/s,

80線延遲小于50ms。使用go語言編寫,具有如下特點:

1.多數(shù)據(jù)源(MySQL, MongoDB, TiDB, PostgreSQL)

2.支持異構(gòu)(不同的庫、表、字段之間同步),支持分庫分表到合表的同步。

3.支持雙活&多活,復(fù)制過程將流量打標(biāo),避免循環(huán)復(fù)制。

4.管理節(jié)點高可用,故障恢復(fù)不會丟失數(shù)據(jù)

5.支持filter plugin (語句過濾,類型過濾,column過濾等多維度的過濾)。

6.支持傳輸過程進行數(shù)據(jù)轉(zhuǎn)換。

  1. 一鍵全量+增量遷移數(shù)據(jù)。
  2. 輕量級,穩(wěn)定高效,容易部署。

9.支持基于Kubernetes 的PaaS 平臺,簡化運維任務(wù)。

使用場景:

1.大數(shù)據(jù)總線:發(fā)送MySQL Binlog,Mongo Oplog,TiDB Binlog 的增量數(shù)據(jù)到 Kafka供下游消費。

2.單向數(shù)據(jù)同步:MySQL → MySQL&TiDB 的全量、增量同步。

3.雙向數(shù)據(jù)同步:MySQL ? MySQL 的雙向增量同步,同步過程中可以防止循環(huán)復(fù)制。

4.分庫分表到合庫的同步:MySQL 分庫分表--> 合庫的同步,可以指定源表和目標(biāo)表的對應(yīng)關(guān)系。

5.數(shù)據(jù)清洗: 同步過程中,可通過filter plugin 將數(shù)據(jù)自定義轉(zhuǎn)換。

6.數(shù)據(jù)歸檔: MySQL→ 歸檔庫 ,同步鏈路中過濾掉delete 語句。

Gravity 的設(shè)計初衷是要將多種數(shù)據(jù)源聯(lián)合到一起,互相打通,讓業(yè)務(wù)設(shè)計上更靈活,數(shù)據(jù)復(fù)制、數(shù)據(jù)轉(zhuǎn)換變的更容易,

能夠幫助大家更容易的將業(yè)務(wù)平滑遷移到TiDB 上面。

一、安裝配置golang

golang 針對中國用戶有專門的網(wǎng)站:

https://golang.google.cn/dl/

下載文件:

# wget https://dl.google.com/go/go1.17.linux-amd64.tar.gz

解壓文件:

# tar -xzvf go1.17.linux-amd64.tar.gz -C /usr/local/

設(shè)置環(huán)境變量:

# vim /etc/profile

export PATH=$PATH:/usr/local/go/bin

# source  /etc/profile

版本驗證:

# go version

go version go1.12 linux/amd64

2 命令

2.1 指定module的根目錄并生成go.mod文件

go mod init example.com/hello

2.2 下載并添加依賴到go.mod文件中

go build, go test

2.3 查看module下的所有依賴

go list -m all

2.4 更新穩(wěn)定版依賴

go get rsc.io/sampler

2.5 更新為指定版本依賴

go list -m -versions rsc.io/sampler
 
rsc.io/sampler v1.0.0 v1.2.0 v1.2.1 v1.3.0 v1.3.1 v1.99.99
 
go get rsc.io/sampler@v1.3.1

2.6 清理無用的依賴

go mod tidy

2.7 將依賴復(fù)制到項目路徑的vendor文件夾中

go mod vendor

2.8 忽略cache里的包,只使用vendor目錄里的依賴進行編譯

go build -mod=vendor

2.9 校驗依賴并查看是否有修改

go mod verify

二、安裝配置gravity

1.前提條件:安裝部署好golang的環(huán)境變量:

2.下載gravity的代碼:

下載地址:https://github.com/moiot/gravity/releases

選擇需要的版本

# wget https://github.com/moiot/gravity/archive/v0.9.61.tar.gz

注釋:

由于還是老的模式組織目錄結(jié)構(gòu),需要把項目放在 ${GOPATH}/src/github.com/moiot/

 

3.由于目前的版本不支持go module功能需要解壓到 指定的目錄 go/src目錄:

# mkdir -p /usr/local/go/src/github.com/moiot/

# tar -xzvf v0.9.25.tar.gz  -C /usr/local/go/src/github.com/moiot/

# mv gravity-0.9.25/ gravity

或者直接clone 源代碼:

      # git clone https://github.com/moiot/gravity.git

#export GOPROXY=https://goproxy.io

# make

#export GOPROXY=

 注:解決方法:

換一個國內(nèi)能訪問的代理地址:https://goproxy.cn

執(zhí)行命令:go env -w GOPROXY=https://goproxy.cn

重新執(zhí)行命令,完美通過

##查看幫助信息:

# ./bin/gravity  --help -L warn

Usage of gravity:

  -L string

        log level: debug, info, warn, error, fatal (default 'info') (default "info")

  -V    print version and exit

  -config string

        path to config file

  -http-addr string

        http-addr (default ":8080")

  -log-file string

        log file path

  -log-format string

        log format (default "json")

 

##版本查詢:

# ./bin/gravity -V

Release Version (gravity): 0.0.1+git.

Git Commit Hash:

Git Branch:

UTC Build Time: 2019-07-26 02:58:06

三、問題解決

#執(zhí)行make命令時,由于一些依賴包需要翻墻才能下載到,所以go在這里自動下載相應(yīng)的包或依賴包時,會出現(xiàn)timeout問題,無法下載或加載依賴包。。最終導(dǎo)致make失敗

go: golang.org/x/net@v0.0.0-20190311183353-d8887717615a: unrecognized import path "golang.org/x/net" (https fetch: Get https://golang.org/x/net?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

go: google.golang.org/grpc@v1.19.0: unrecognized import path "google.golang.org/grpc" (https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

go: golang.org/x/sys@v0.0.0-20180905080454-ebe1bf3edb33: unrecognized import path "golang.org/x/sys" (https fetch: Get https://golang.org/x/sys?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

go: finding github.com/pingcap/parser v0.0.0-20190118120648-5958b6fcdb2d

go: golang.org/x/crypto@v0.0.0-20180904163835-0709b304e793: unrecognized import path "golang.org/x/crypto" (https fetch: Get https://golang.org/x/crypto?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)

解決方法:

設(shè)置以下環(huán)境變量:

export GOPROXY=https://goproxy.io

然后在執(zhí)行make命令。

 

原因:

設(shè)置了GOPROXY環(huán)境變量,下載源代碼時將會通過這個環(huán)境變量設(shè)置的代理地址,而不再是以前的直接從代碼庫下載。 https://goproxy.io是官方提供公用的代理服務(wù)。

通過設(shè)置該環(huán)境變量:export GOPROXY=https://goproxy.io 后即可正常下載墻外的源碼包了:

也可以通過置空這個環(huán)境變量來關(guān)閉,export GOPROXY=

需要Go version >= 1.11。

原文鏈接:https://blog.csdn.net/eagle89/article/details/128605003
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    7255

    瀏覽量

    91820
  • 數(shù)據(jù)同步
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    8275
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    應(yīng)用中的“復(fù)制功能”如何實現(xiàn)##HarmonyOS應(yīng)用開發(fā)##

    ); hm.toast(\"已復(fù)制到剪貼板\"); } 代碼雖然很簡單,但是以下幾個點是需要注意和了解的: 剪貼板服務(wù)是包括 訪問剪貼板 和 向剪貼板里寫入數(shù)據(jù)這兩個主要部分的,其中
    發(fā)表于 06-30 17:27

    UIAbility組件與UI的數(shù)據(jù)同步介紹

    UIAbility組件與UI的數(shù)據(jù)同步 基于當(dāng)前的應(yīng)用模型,可以通過以下幾種方式來實現(xiàn)UIAbility組件與UI之間的數(shù)據(jù)同步。 使用EventHub進行
    發(fā)表于 05-16 06:10

    【峟思】土體沉降計安裝:手把手教你正確埋設(shè)與連接組件

    在土木工程中,振弦式土體沉降計是監(jiān)測土石壩、邊坡、地基等沉降變形的“眼睛”。但想要它精準(zhǔn)工作,安裝步驟是關(guān)鍵!如果埋設(shè)不當(dāng)或組件連接錯誤,可能導(dǎo)致數(shù)據(jù)偏差甚至設(shè)備損壞。南京峟思將一步步為大家解析振弦
    的頭像 發(fā)表于 04-03 10:20 ?237次閱讀
    【峟思】土體沉降計<b class='flag-5'>安裝</b>:手把手教你正確埋設(shè)與連接<b class='flag-5'>組件</b>

    RF-Labs手工成型電纜組件

    考慮到了易于安裝和拆卸的需求,方便用戶進行維護和更換。 應(yīng)用場景 軍工行業(yè):滿足軍事裝備對高性能電纜組件的需求,確保通信和數(shù)據(jù)傳輸?shù)姆€(wěn)定性和可靠性。 航天航空:適用于航天飛行器和衛(wèi)星等空間應(yīng)用,提供可靠
    發(fā)表于 03-14 09:23

    hyper-v復(fù)制,Hyper-V 復(fù)制的操作步驟

    ? ? 在使用Hyper-V虛擬化技術(shù)時,數(shù)據(jù)安全和業(yè)務(wù)連續(xù)性至關(guān)重要。Hyper-V復(fù)制功能就像是給虛擬機數(shù)據(jù)上了一份“保險”,能在關(guān)鍵時刻發(fā)揮重要作用。 ? ?什么是Hyper-V復(fù)制
    的頭像 發(fā)表于 02-10 10:29 ?459次閱讀
    hyper-v<b class='flag-5'>復(fù)制</b>,Hyper-V <b class='flag-5'>復(fù)制</b>的操作步驟

    SQLite數(shù)據(jù)訪問組件

    SQLite 數(shù)據(jù)訪問組件 SQLite 數(shù)據(jù)訪問組件 (LiteDAC) 是一個組件庫 它提供從 Delphi 和 C++ Builder
    的頭像 發(fā)表于 02-08 11:48 ?468次閱讀
    SQLite<b class='flag-5'>數(shù)據(jù)</b>訪問<b class='flag-5'>組件</b>

    InterBase和Firebird數(shù)據(jù)訪問組件介紹

    InterBase 和 Firebird 數(shù)據(jù)訪問組件 InterBase(和 Firebird)數(shù)據(jù)訪問組件 (IBDAC) 是一個庫 提供與 InterBase 和 Firebir
    的頭像 發(fā)表于 01-23 11:50 ?498次閱讀
    InterBase和Firebird<b class='flag-5'>數(shù)據(jù)</b>訪問<b class='flag-5'>組件</b>介紹

    hyper v 復(fù)制,hyper v 復(fù)制如何操作

    在日常辦公中,我們常常需要處理大量的文件和數(shù)據(jù),這些重復(fù)性的工作不僅耗時耗力,還容易出現(xiàn)錯誤。而批量管理工具的出現(xiàn),為我們提供了一種高效、便捷的解決方案,它能夠批量處理文件和數(shù)據(jù),極大地提高了
    的頭像 發(fā)表于 01-22 16:01 ?1100次閱讀
    hyper v <b class='flag-5'>復(fù)制</b>,hyper v <b class='flag-5'>復(fù)制</b>如何操作

    適用于Oracle的SSIS數(shù)據(jù)組件:提供快速導(dǎo)入及導(dǎo)出功能

    使用SSIS 數(shù)據(jù)組件,通過與關(guān)鍵數(shù)據(jù)庫和云服務(wù)的 Oracle 數(shù)據(jù)集成來改進您的 ETL 流程,這些組件提供快捷和可靠的
    的頭像 發(fā)表于 01-15 10:51 ?966次閱讀
    適用于Oracle的SSIS<b class='flag-5'>數(shù)據(jù)</b>流<b class='flag-5'>組件</b>:提供快速導(dǎo)入及導(dǎo)出功能

    Devart SSIS數(shù)據(jù)組件

    Devart SSIS 數(shù)據(jù)組件是功能強大的工具,旨在簡化 SQL Server Integration Services (SSIS) 包內(nèi)的 ETL 流程,使用戶無需編寫復(fù)雜的代碼即可
    的頭像 發(fā)表于 01-05 11:08 ?1130次閱讀
    Devart SSIS<b class='flag-5'>數(shù)據(jù)</b>流<b class='flag-5'>組件</b>

    PW系列工控電腦復(fù)制機:效率與精度雙重提升

    本文介紹了PW系列工控電腦復(fù)制機在現(xiàn)代企業(yè)數(shù)據(jù)管理中的關(guān)鍵作用。隨著大數(shù)據(jù)和跨平臺兼容性需求的增長,PW系列復(fù)制機以其高達18GB/分鐘的傳輸速度和自動化偵測技術(shù),提供了一個靈活、高效
    的頭像 發(fā)表于 11-20 16:20 ?550次閱讀
    PW系列工控電腦<b class='flag-5'>復(fù)制</b>機:效率與精度雙重提升

    分布式服務(wù)高可用實現(xiàn):復(fù)制

    作者:京東保險 王奕龍 1. 為什么需要復(fù)制 我們可以考慮如下問題: 當(dāng)數(shù)據(jù)量、讀取或?qū)懭胴?fù)載已經(jīng)超過了當(dāng)前服務(wù)器的處理能力,如何實現(xiàn)負(fù)載均衡? 希望在單臺服務(wù)器出現(xiàn)故障時仍能繼續(xù)工作,這該如何實現(xiàn)
    的頭像 發(fā)表于 10-29 11:27 ?927次閱讀
    分布式服務(wù)高可用實現(xiàn):<b class='flag-5'>復(fù)制</b>

    數(shù)據(jù)光端機的安裝步驟

    數(shù)據(jù)光端機是一種用于傳輸數(shù)據(jù)信號的設(shè)備,它通過光纖將數(shù)據(jù)從一個地點傳輸?shù)搅硪粋€地點。這種設(shè)備廣泛應(yīng)用于電信、網(wǎng)絡(luò)、監(jiān)控等領(lǐng)域。以下是安裝數(shù)據(jù)
    的頭像 發(fā)表于 10-28 10:05 ?783次閱讀

    配置MySQL主從復(fù)制和讀寫分離

    配置MySQL主從復(fù)制和讀寫分離
    的頭像 發(fā)表于 10-23 11:44 ?809次閱讀
    配置MySQL主從<b class='flag-5'>復(fù)制</b>和讀寫分離

    如何實現(xiàn)Python復(fù)制文件操作

    Python 中有許多“開蓋即食”的模塊(比如 os,subprocess 和 shutil)以支持文件 I/O 操作。在這篇文章中,你將會看到一些用 Python 實現(xiàn)文件復(fù)制的特殊方法。下面我們開始學(xué)習(xí)這九種不同的方法來實現(xiàn) Python 復(fù)制文件操作。
    的頭像 發(fā)表于 07-18 14:53 ?796次閱讀