{"id":13510103,"url":"https://github.com/twitter-archive/distributedlog","last_synced_at":"2025-09-28T21:31:00.354Z","repository":{"id":57729222,"uuid":"50056934","full_name":"twitter-archive/distributedlog","owner":"twitter-archive","description":"A high performance replicated log service. (The development is moved to Apache Incubator)","archived":true,"fork":false,"pushed_at":"2020-02-25T19:15:10.000Z","size":7128,"stargazers_count":2214,"open_issues_count":0,"forks_count":285,"subscribers_count":160,"default_branch":"master","last_synced_at":"2025-09-07T00:08:25.881Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://distributedlog.incubator.apache.org/","language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/twitter-archive.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-01-20T20:07:32.000Z","updated_at":"2025-08-13T11:14:33.000Z","dependencies_parsed_at":"2022-09-10T21:51:24.736Z","dependency_job_id":null,"html_url":"https://github.com/twitter-archive/distributedlog","commit_stats":null,"previous_names":["twitter/distributedlog"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/twitter-archive/distributedlog","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter-archive%2Fdistributedlog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter-archive%2Fdistributedlog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter-archive%2Fdistributedlog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter-archive%2Fdistributedlog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twitter-archive","download_url":"https://codeload.github.com/twitter-archive/distributedlog/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twitter-archive%2Fdistributedlog/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274509689,"owners_count":25299067,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T02:01:24.162Z","updated_at":"2025-09-28T21:30:59.652Z","avatar_url":"https://github.com/twitter-archive.png","language":"Java","funding_links":[],"categories":["Java","others","日志库"],"sub_categories":[],"readme":"![logo](/website/images/distributedlog_logo_m.png?raw=true \"Apache DistributedLog logo\")\n\n[![Build Status](https://travis-ci.org/apache/incubator-distributedlog.svg?branch=master)](https://travis-ci.org/apache/incubator-distributedlog)\n[![Build Status](https://builds.apache.org/buildStatus/icon?job=distributedlog-nightly-build)](https://builds.apache.org/job/distributedlog-nightly-build/)\n[![Coverage Status](https://coveralls.io/repos/github/apache/incubator-distributedlog/badge.svg?branch=master)](https://coveralls.io/github/apache/incubator-distributedlog?branch=master)\n\n# Apache DistributedLog (incubating)\n\nApache DistributedLog (DL) is a *high-throughput*, *low-latency* replicated log service, offering\n*durability*, *replication* and *strong consistency* as essentials for building\nreliable _real-time_ applications.\n\n## Status\n\n_Apache DistributedLog project graduated from Incubator at July 2017. It is now a sub-project of Apache BookKeeper._\n\nThe core components of _Apache DistributedLog_ has been merged as part of _Apache BookKeeper_. The development of _Apache DistributedLog_ has been moved under BookKeeper.\nSee [BP-26: Move distributedlog library as part of bookkeeper](http://bookkeeper.apache.org/bps/BP-26-move-distributedlog-core-library/) for more details.\n\n## Features\n\n#### High Performance\n\nDL is able to provide *milliseconds* latency on *durable* writes with a large number\nof concurrent logs, and handle high volume reads and writes per second from\nthousands of clients.\n\n#### Durable and Consistent\n\nMessages are persisted on disk and replicated to store multiple copies to\nprevent data loss. They are guaranteed to be consistent among writers and\nreaders in terms of *strict ordering*.\n\n#### Efficient Fan-in and Fan-out\n\nDL provides an efficient service layer that is optimized for running in a multi-\ntenant datacenter environment such as _Mesos_ or _Yarn_. The service layer is able\nto support large scale writes (fan-in) and reads (fan-out).\n\n#### Various Workloads\n\nDL supports various workloads from *latency-sensitive* online transaction\nprocessing (OLTP) applications (e.g. WAL for distributed database and in-memory\nreplicated state machines), real-time stream ingestion and computing, to\nanalytical processing.\n\n#### Multi Tenant\n\nTo support a large number of logs for multi-tenants, DL is designed for I/O\nisolation in real-world workloads.\n\n#### Layered Architecture\n\nDL has a modern layered architecture design, which separates the *stateless\nservice tier* from the *stateful storage tier*. To support large scale writes (fan-\nin) and reads (fan-out), DL allows scaling storage independent of scaling CPU\nand memory.\n\n## First Steps\n\n* *Concepts*: Start with the [basic concepts](http://distributedlog.incubator.apache.org/docs/latest/basics/introduction) of DistributedLog.\n  This will help you to fully understand the other parts of the documentation,\n  including [setup](http://distributedlog.incubator.apache.org/docs/latest/deployment/cluster),\n  [integration](http://distributedlog.incubator.apache.org/docs/latest/user_guide/api/main.html) and\n  [operation guide](http://distributedlog.incubator.apache.org/docs/latest/admin_guide/main.html).\n  It is highly recommended to read this first.\n* *Quickstarts*: [Run DistributedLog](http://distributedlog.incubator.apache.org/docs/latest/start/quickstart) on your local machine\n  or follow the tutorial to [write a simple program](http://distributedlog.incubator.apache.org/docs/latest/tutorials/basic-1) to interact with _DistributedLog_.\n* *Setup*: The [docker](http://distributedlog.incubator.apache.org/docs/latest/deployment/docker) and [cluster](http://distributedlog.incubator.apache.org/docs/latest/deployment/cluster) setup guides show how to deploy DistributedLog stack.\n* *User Guide*: You can checkout our guides about the [basic concepts](http://distributedlog.incubator.apache.org/docs/latest/basics/introduction) and the [Core Library API](http://distributedlog.incubator.apache.org/docs/latest/user_guide/api/core) or [Proxy Client API](http://distributedlog.incubator.apache.org/docs/latest/user_guide/api/proxy)\n  to learn how to use DistributedLog to build your reliable real-time services.\n\n## Next Steps\n\n* *Design Documents*: Learn about the [architecture](http://distributedlog.incubator.apache.org/docs/latest/user_guide/architecture/main),\n  [design considerations](http://distributedlog.incubator.apache.org/docs/latest/user_guide/design/main) and \n  [implementation details](http://distributedlog.incubator.apache.org/docs/latest/user_guide/implementation/main) of DistributedLog.\n* *Tutorials*: You can check out the [tutorials](http://distributedlog.incubator.apache.org/docs/latest/tutorials/main) on how to build real applications.\n* *Admin Guide*: You can check out our guides about how to [operate](http://distributedlog.incubator.apache.org/docs/latest/admin_guide/main) the DistributedLog Stack.\n\n## Get In Touch\n\n### Report a Bug\n\nFor filing bugs, suggesting improvements, or requesting new features, help us out by [opening a jira](https://issues.apache.org/jira/browse/DL).\n\n### Need Help?\n\n[Subscribe](mailto:dev-subscribe@distributedlog.incubator.apache.org) or [mail](mailto:dev@distributedlog.incubator.apache.org) the [dev@distributedlog.incubator.apache.org](mailto:dev@distributedlog.incubator.apache.org) list - Ask questions, find answers, join developement discussions and also help other users.\n\n## Contributing\n\nWe feel that a welcoming open community is important and welcome contributions.\n\n### Contributing Code\n\n1. See [Developer Guide](https://cwiki.apache.org/confluence/display/DL/Developer+Guide) to get your local environment setup.\n\n2. Take a look at our [open issues](https://issues.apache.org/jira/browse/DL).\n\n3. Review our [coding style](https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=65867477) and follow our [code reviews](https://github.com/apache/incubator-distributedlog/pulls) to learn about our conventions.\n\n4. Make your changes according to our [code review workflow](https://cwiki.apache.org/confluence/display/DL/Contributing+to+DistributedLog#ContributingtoDistributedLog-ContributingCodeChanges).\n\n5. Checkout the list of [project ideas](https://cwiki.apache.org/confluence/display/DL/Project+Ideas) to contribute more features or improvements.\n\n### Improving Website and Documentation\n\n1. See [website/README.md](/website/README.md) on how to build the website.\n\n2. See [docs/README.md](/docs/README.md) on how to build the documentation.\n\n## About\n\nApache DistributedLog is an open source project of The Apache Software Foundation (ASF). The Apache DistributedLog project originated from [Twitter](https://twitter.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwitter-archive%2Fdistributedlog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwitter-archive%2Fdistributedlog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwitter-archive%2Fdistributedlog/lists"}