• This repository has been archived on 26/Feb/2020
  • Stars
    star
    2,224
  • Rank 20,734 (Top 0.5 %)
  • Language
    Java
  • License
    Apache License 2.0
  • Created almost 9 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A high performance replicated log service. (The development is moved to Apache Incubator)

logo

Build Status Build Status Coverage Status

Apache DistributedLog (incubating)

Apache DistributedLog (DL) is a high-throughput, low-latency replicated log service, offering durability, replication and strong consistency as essentials for building reliable real-time applications.

Status

Apache DistributedLog project graduated from Incubator at July 2017. It is now a sub-project of Apache BookKeeper.

The core components of Apache DistributedLog has been merged as part of Apache BookKeeper. The development of Apache DistributedLog has been moved under BookKeeper. See BP-26: Move distributedlog library as part of bookkeeper for more details.

Features

High Performance

DL is able to provide milliseconds latency on durable writes with a large number of concurrent logs, and handle high volume reads and writes per second from thousands of clients.

Durable and Consistent

Messages are persisted on disk and replicated to store multiple copies to prevent data loss. They are guaranteed to be consistent among writers and readers in terms of strict ordering.

Efficient Fan-in and Fan-out

DL provides an efficient service layer that is optimized for running in a multi- tenant datacenter environment such as Mesos or Yarn. The service layer is able to support large scale writes (fan-in) and reads (fan-out).

Various Workloads

DL supports various workloads from latency-sensitive online transaction processing (OLTP) applications (e.g. WAL for distributed database and in-memory replicated state machines), real-time stream ingestion and computing, to analytical processing.

Multi Tenant

To support a large number of logs for multi-tenants, DL is designed for I/O isolation in real-world workloads.

Layered Architecture

DL has a modern layered architecture design, which separates the stateless service tier from the stateful storage tier. To support large scale writes (fan- in) and reads (fan-out), DL allows scaling storage independent of scaling CPU and memory.

First Steps

Next Steps

Get In Touch

Report a Bug

For filing bugs, suggesting improvements, or requesting new features, help us out by opening a jira.

Need Help?

Subscribe or mail the [email protected] list - Ask questions, find answers, join developement discussions and also help other users.

Contributing

We feel that a welcoming open community is important and welcome contributions.

Contributing Code

  1. See Developer Guide to get your local environment setup.

  2. Take a look at our open issues.

  3. Review our coding style and follow our code reviews to learn about our conventions.

  4. Make your changes according to our code review workflow.

  5. Checkout the list of project ideas to contribute more features or improvements.

Improving Website and Documentation

  1. See website/README.md on how to build the website.

  2. See docs/README.md on how to build the documentation.

About

Apache DistributedLog is an open source project of The Apache Software Foundation (ASF). The Apache DistributedLog project originated from Twitter.

More Repositories

1

snowflake

Snowflake is a network service for generating unique ID numbers at high scale with some simple guarantees.
Scala
7,648
star
2

diffy

Find potential bugs in your services with Diffy
Scala
3,825
star
3

flockdb

A distributed, fault-tolerant graph database
Scala
3,337
star
4

kestrel

simple, distributed message queue system (inactive)
Scala
2,774
star
5

twui

A UI framework for Mac based on Core Animation
Objective-C
2,740
star
6

CocoaSPDY

SPDY for iOS and OS X
Objective-C
2,389
star
7

gizzard

[Archived] A flexible sharding framework for creating eventually-consistent distributed datastores
Scala
2,256
star
8

recess

A simple and attractive code quality tool for CSS built on top of LESS
CSS
2,187
star
9

commons

Twitter common libraries for python and the JVM (deprecated)
Java
2,099
star
10

iago

A load generator, built for engineers
Scala
1,347
star
11

twitter-text-js

A JavaScript implementation of Twitter's text processing library
1,211
star
12

ambrose

A platform for visualization and real-time monitoring of data workflows
Java
1,181
star
13

twitter-kit-android

Twitter Kit for Android
Java
831
star
14

ostrich

A stats collector & reporter for Scala servers (deprecated)
Scala
773
star
15

twitter-kit-ios

Twitter Kit is a native SDK to include Twitter content inside mobile apps.
Objective-C
690
star
16

twitter-text-rb

A library that does auto linking and extraction of usernames, lists and hashtags in tweets
613
star
17

mysos

Cotton (formerly known as Mysos)
590
star
18

twitter-text-objc

An Objective-C implementation of Twitter's text processing library
587
star
19

torch-autograd

Autograd automatically differentiates native Torch code
Lua
559
star
20

ospriet

An example audience moderation app built on Twitter
JavaScript
408
star
21

cloudhopper-smpp

Efficient, scalable, and flexible Java implementation of the Short Messaging Peer to Peer Protocol (SMPP)
Java
382
star
22

twitter-text-java

A Java implementation of Twitter's text processing library
364
star
23

jvmgcprof

A simple utility for profile allocation and garbage collection activity in the JVM
C
342
star
24

css-flip

A CSS BiDi flipper
JavaScript
313
star
25

clockworkraven

Human-Powered Data Analysis with Mechanical Turk
Ruby
300
star
26

torch-twrl

Torch-twrl is a package that enables reinforcement learning in Torch.
Lua
251
star
27

cassie

A Scala client for Cassandra
Scala
244
star
28

twemperf

A tool for measuring memcached server performance
C
242
star
29

hdfs-du

Visualize your HDFS cluster usage
JavaScript
230
star
30

pycascading

A Python wrapper for Cascading
Python
222
star
31

RTLtextarea

Automatically detects RTL and configures a text input
JavaScript
169
star
32

haplocheirus

A Redis-backed storage engine for timelines
Scala
133
star
33

standard-project

A slightly more standard sbt project plugin library
Scala
132
star
34

torch-decisiontree

This project implements random forests and gradient boosted decision trees (GBDT). The latter uses gradient tree boosting. Both use ensemble learning to produce ensembles of decision trees (that is, forests).
Lua
129
star
35

scala-zookeeper-client

A Scala client library for ZooKeeper (DEPRECATED)
Scala
119
star
36

elephant-twin

Elephant Twin is a framework for creating indexes in Hadoop
Java
96
star
37

torch-ipc

A set of primitives for parallel computation in Torch
C
95
star
38

torch-distlearn

A set of distributed learning algorithms for Torch
Lua
93
star
39

libcrunch

A lightweight mapping framework that maps data objects to a number of nodes, subject to constraints
Java
92
star
40

scribe

A Ruby client library for Scribe
Ruby
90
star
41

sbt-package-dist

sbt 11 plugin codifying best practices for building, packaging, and publishing
Scala
88
star
42

twisitor

A simple and spectacular photo-tweeting birdhouse
JavaScript
84
star
43

flockdb-client

A Ruby client library for FlockDB
Ruby
81
star
44

code-of-conduct

Open Source Code of Conduct at Twitter
80
star
45

twitter-text-conformance

Conformance testing data for the twitter-text-* repositories
77
star
46

torch-dataset

An extensible and high performance method of reading, sampling and processing data for Torch
Lua
76
star
47

cdk

CDK is a tool to quickly generate single-file html slide presentations from AsciiDoc
CSS
74
star
48

naggati2

Protocol builder for netty using scala (DEPRECATED)
Scala
74
star
49

twitter-kit-unity

Twitter Kit for Unity
C#
71
star
50

plumage.js

Batteries Included App Framework for Data Intensive UIs
JavaScript
66
star
51

gozer

Prototype mesos framework using new low-level API built in Go
Go
61
star
52

bookkeeper

Twitter's fork of Apache BookKeeper (will push changes upstream eventually)
Java
59
star
53

grabby-hands

A JVM Kestrel client that aggregates queues from multiple servers. Implemented in Scala with Java bindings. In use at Twitter for all JVM Search and Streaming Kestrel interactions.
Scala
56
star
54

gizzmo

A command-line client for Gizzard
Ruby
54
star
55

thrift

Twitter's out-of-date, forked thrift
C++
53
star
56

libkestrel

libkestrel
Scala
47
star
57

time_constants

Time constants, in seconds, so you don't have to use slow ActiveSupport helpers
Ruby
47
star
58

sbt-scrooge

An SBT plugin that adds a mixin for doing Thrift code auto-generation during your compile phase
Scala
44
star
59

cli-guide.js

CLI Guide JQuery Plugin
JavaScript
41
star
60

sbt-thrift

sbt rules for generating source stubs out of thrift IDLs, for java & scala
Ruby
38
star
61

jaqen

A type-safe heterogenous Map or a Named field Tuple
Scala
35
star
62

spitball

A very simple gem package generation tool built on bundler
Ruby
33
star
63

torch-thrift

A Thrift codec for Torch
C
29
star
64

jsr166e

JSR166e for Twitter
Java
27
star
65

unishark

Unishark: Another unittest extension for Python
Python
26
star
66

raggiana

A simple standalone Finagle stats viewer
JavaScript
21
star
67

sekhmet

foundational tools and building blocks for gaining insights and diagnosing system health in real-time
20
star
68

periscope-live-engagement-unity-sdk

Periscope Live Engagement Unity SDK
C#
20
star
69

twitterActors

Improved Scala actors library; used internally at Twitter
Scala
19
star
70

finatra-activator-http-seed

Typesafe activator template for constructing a Finatra HTTP server application:
Scala
18
star
71

git

Git Source Code Mirror - This is a publish-only repository and all pull requests are ignored. Please follow Documentation/SubmittingPatches procedure for any of your improvements.
C
18
star
72

killdeer

Killdeer is a simple server for replaying a sample of responses to sythentically recreate production response characteristics.
Scala
16
star
73

elephant-twin-lzo

Elephant Twin LZO uses Elephant Twin to create LZO block indexes
Java
15
star
74

bittern

Bittern Cache uses nvdimm to speed up block io operations
C
14
star
75

finatra-activator-thrift-seed

Typesafe activator template for constructing a Finatra Thrift server application: https://twitter.github.io/finatra/user-guide/ —
Scala
11
star
76

chainsaw

A thin Scala wrapper for SLF4J
Scala
10
star
77

PerfTracepoint

Perf tracepoint support for the JVM
Java
7
star
78

oscon-puzzles

OSCON 2014 Puzzle
JavaScript
7
star
79

scala-json

JSON in Scala (deprecated)
Scala
5
star
80

scala-csp-config

A Scala library for configuring Content Security Policy headers for HTTP responses.
Scala
4
star
81

.github

3
star
82

finatra-misc

Miscellaneous libraries and utils used by Finatra
Scala
3
star
83

autolog-clustering

USF Capstone Project for Auto-log Clustering
Python
1
star