storagetapper

StorageTapper is a scalable realtime MySQL change data streaming and transformation service

Github星跟踪图

StorageTapper

StorageTapper is a scalable realtime MySQL change data streaming and
transformation service.

Service reads data from MySQL, transforms it into an Avro schema
serialized format, and publishes these events to Kafka. Consumers can then
consume these events directly from Kafka.

Build Status
Go Report Card
codecov

Features

  • Producing events to Kafka
  • Automatic work distribution between instances
  • Avro output format
  • JSON output format
  • HTTP endpoints to control
    • Tables to be ingested
    • Output schema
    • Database address resolver
  • Snapshot is taken from slave to reduce load on master
  • Binlogs streaming from master for better SLA
  • Throttling when taking snapshot

Limitations

  • Tables must have a primary key

Build & Install

Get build dependencies

go get github.com/Masterminds/glide
go get github.com/alecthomas/gometalinter

It's recommended to have local MySQL and Kafka installed, so as many tests
depend on them. Tweak development config to
correspond your setup.
WARNING: Tests run dangerous commands like RESET MASTER and DROP
DATABASE, so for tests don't use any MySQL instances with precious data.

Debian & Ubuntu

cd storagetapper
make deb && dpkg -i ../storagetapper_1.0_amd64.deb

Others

cd storagetapper
make test && make install

Configuration

Storagetapper loads configuration from the following files and location in the
given order:

    /etc/storagetapper/base.yaml
    /etc/storagetapper/production.yaml
    $(HOME)/base.yaml
    $(HOME)/production.yaml
    $(STORAGETAPPER_CONFIG_DIR)/base.yaml
    $(STORAGETAPPER_CONFIG_DIR)/production.yaml

Available options described in Options section

License

This software is licensed under the MIT License.

主要指标

概览
名称与所有者uber/storagetapper
主编程语言Go
编程语言Shell (语言数: 3)
平台
许可证MIT License
所有者活动
创建于2017-05-07 00:31:41
推送于2023-03-19 22:39:47
最后一次提交2022-01-11 22:23:26
发布数2
最新版本名称v1.1.0-beta (发布于 )
第一版名称v1.0.0-beta (发布于 )
用户参与
星数360
关注者数22
派生数66
提交数250
已启用问题?
问题数28
打开的问题数18
拉请求数29
打开的拉请求数6
关闭的拉请求数2
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?