Bifrost

Bifrost ---- 面向生产环境的 MySQL,MariaDB,kafka 同步到Redis,MongoDB,ClickHouse,StarRocks,Doris,Kafka等服务的异构中间件

APACHE-2.0 License

Stars
1.9K
Committers
11

Bifrost ---- A heterogeneous middleware which can synchronize MySQL/MariaDB binlog data To Redis,MongoDB,ClickHouse,Elasticsearch...

Real time data synchronization, only use mouse .....

Binary Linux , mac , windows , freebsd

Source: Github , Gitee

Your star is the biggest support for Bifrost!!!

TO
ToServer DDL Notes
Redis NO
MongoDB NO
MySQL YES
ClickHouse YES
Memcache NO
RabbitMQ YES
Kafka YES support canal json,debezium json, string data
ActiveMQ YES
Http YES
Hprose RPC YES
Hprose RPC YES
StarRocks YES use mysql protocol
Doris YES use mysql protocol
FROM
MySQL YES YES Binglog & Select MySQL Slave
MariaDB YES YES Binglog & Select MySQL Slave
Percona YES YES Binglog & Select MySQL Slave
Kafka NO YES string kafka data to field "queue_data"
Kafka NO YES canal canal json to bifrost data
kafka NO YES bifrost bifrost to kafka,kafka to bifrost
kafka NO YES debezium debezium for mysql data
Mongo NO YES oplog
kafka NO YES customer json customer json to bifrost struct
Mock NO YES MySQL Binlog use for outut plugin develop

WIKI : https://wiki.xbifrost.com/en


Online experience

http://www.xbifrost.com/demo/

Bifrsot Diagram

Points

  • Support all save types of MySQL/MariaDB

  • Interface dynamics can dispose different data sheet and target database flexibly

  • Supported by various data sources and target databases

  • Supported FULL AND Increment

  • Supported Email AND Wechat warning

  • Supported Flow display

  • Plugin MySQL and ClickHouse suppoted DDL

MySQL version(after test)

  • 5.1.73

  • 5.5.42

  • 5.6.36

  • 5.7.18

  • 8.0.11

Install

Compile

download Bifrost Source

git clone git clone https://github.com/brokercap/Bifrost.git

./build.sh linux

./build.sh windows

./build.sh freebsd

./build.sh darwin

After compiling, the corresponding platform name folder will be created in the tags directory,

Binary
wget https://github.com/brokercap/Bifrost/releases/download/v2.3.6-beta/bifrost_v2.3.6-beta_Linux-amd64-bin.tar.gz

tar -zxvf bifrost_v2.3.6-beta_Linux-amd64-bin.tar.gz

cd bifrost_v2.3.6-beta_Linux-amd64-bin/bin && chmod a+x ./Bifrost*

Start
./Bifrost-server start

Stop
./Bifrost-server stop

manager

https://127.0.0.1:21036

Default user name : Bifrost

Default user password : Bifrost123

Docker
docker pull jc3wish/bifrost

mkdir -p /data/BifrostData

docker run -d -p21036:21036 -v /data/BifrostData:/linux/data jc3wish/bifrost

Configuration

vim Bifrost.ini

[user]
#
#= 
Bifrost=Bifrost123
BifrostMonitor=Bifrost123

[groups]
#administrator 
#monitor 
Bifrost=administrator
BifrostMonitor=monitor

[Bifrostd]
#loglogs
#log_dir=/data/log/

#, 0.0.0.0:21036
listen=0.0.0.0:21036

#,data
data_dir=./

#5000
toserver_queue_size=5000

#1000
channel_queue_size=1000

#plugin so false
# linux false
dynamic_plugin=false

#https
tls=true

#server.key  server.crt  Bifrost 
tls_key_file=./etc/server.key
tls_crt_file=./etc/server.crt

#,
meta_storage_type=redis

#
meta_storage_path=127.0.0.1:6379

#
cluster_name=bifrostTestClusterName

build https certificate

example

Manager doc

Bifrost

Thank you to the relevant Elaine package provider

  • github.com/gmallard/stompngo
  • github.com/hprose/hprose-golang
  • github.com/Shopify/sarama
  • github.com/bradfitz/gomemcache/memcache
  • gopkg.in/mgo.v2
  • github.com/streadway/amqp
  • github.com/go-redis/redis/v8
  • github.com/syndtr/goleveldb/leveldb
  • github.com/ClickHouse/clickhouse-go
  • github.com/olivere/elastic/v7

QQ 70331601

Package Rankings
Top 4.43% on Proxy.golang.org
Badges
Extracted from project README
Gitter Build Status License
Related Projects