6 Star 14 Fork 6

Gitee 极速下载 / Brooklin

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/linkedin/Brooklin
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
BSD-2-Clause

Brooklin

brooklin bintray v5.1.0 blue kafka brooklin bug

Brooklin Overview


Brooklin is a distributed system intended for streaming data between various heterogeneous source and destination systems with high reliability and throughput at scale. Designed for multitenancy, Brooklin can simultaneously power hundreds of data pipelines across different systems and can easily be extended to support new sources and destinations.

Distinguishing features

  • Extensible for any source and destination

    • Brooklin offers a flexible API that can be extended to support a wide variety of source and destination systems. It is not confined to single type of source or destination system.

    • Source and destination systems can be freely mixed and matched. They do not have to be the same.

  • Scalable

    • Brooklin supports creating an arbitrary number of data streams that are processed concurrently and independently such that errors in one stream are isolated from the rest.

    • Brooklin supports partitioned data streams throughout its core implementation and APIs.

    • Brooklin can be deployed to a cluster of machines (scale out) to support as many data streams as desired.

  • Easy to operate and manage

    • Brooklin exposes a REST endpoint for managing data streams, that offers a rich set of operations on them in addition to CRUD (e.g. pause and resume).

    • Brooklin also exposes a diagnostics REST endpoint that enables on-demand querying of a data stream’s status.

  • Battle-tested at scale with Kafka

    • While it is not limited to any particular system, Brooklin provides capabilities for reading/writing massive amounts of data to/from Kafka with high reliability at scale. You can learn more about this in the Use cases section.

  • Supports Change Data Capture with bootstrap

    • Brooklin supports propagating Change Data Capture events from data stores, e.g. RDBMS, KV stores …​ etc.

    • Brooklin also supports streaming a snapshot of the existing data before propagating change events.

Use cases

Mirroring Kafka clusters

  • Multitenancy

    A single Brooklin cluster can be used to mirror data across several Kafka clusters.

  • Fault isolation across topic partitions

    One bad partition will not affect an entire Kafka topic. Mirroring will continue for all the other healthy partitions.

  • Whitelisting topics using regular expressions

    Select the topics to mirror using regular expression patterns against their names.

  • Pausing and resuming individual partitions

    Through its Datastream Management Service (DMS), Brooklin exposes REST APIs that allow finer control over replication pipelines, like being able to pause and resume individual partitions of a Kafka topic.

Check out Mirroring Kafka Clusters to learn more about using Brooklin to mirror Kafka clusters.

Change Data Capture

  • Brooklin supports propagating Change Data Capture events from data stores, e.g. RDBMS, KV stores …​ etc.

  • Brooklin supports bootstrapping data from a datastore, i.e. streaming a snapshot of the existing data before any change events.

  • MySQL support is currently under development.

Stream processing bridge

Trying out Brooklin

Feel free to check out our step-by-step tutorials for running Brooklin locally in a few example scenarios.

Documentation

Community

License

Copyright (c) LinkedIn Corporation. All rights reserved. Licensed under the BSD 2-Clause License.

BSD 2-CLAUSE LICENSE Copyright 2019 LinkedIn Corporation. All Rights Reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

简介

Brooklin 是一种近实时的大规模数据流分布式服务,LinkedIn 自 2016 年以来一直在使用这项服务,支撑每天数千个数据流和超过 2 万亿条消息 展开 收起
Java 等 4 种语言
BSD-2-Clause
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/mirrors/Brooklin.git
git@gitee.com:mirrors/Brooklin.git
mirrors
Brooklin
Brooklin
master

搜索帮助