Code Monkey home page Code Monkey logo

distributedlog's Introduction

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

The Apache DistributedLog project is in the process of incubating. This includes the creation of project resources, the refactoring of the initial code submissions, and the formulation of project documentation, planning and the improvements of existing user and operation documents. Any feedback and contributions are welcome.

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.

distributedlog's People

Contributors

arvindkandhare avatar fcuny avatar sijie avatar zhaijack avatar mgodave avatar khurrumnasimm avatar jderrickk avatar jiazhai avatar xieliang avatar crazysoftwarecoder avatar ylogx avatar sslavic avatar weiqingtoh avatar yjshen avatar qudongfang avatar jinguoli avatar

Watchers

James Cloos avatar keehang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.