Skip to content

Latest commit

 

History

History
439 lines (272 loc) · 15.6 KB

distributed.md

File metadata and controls

439 lines (272 loc) · 15.6 KB

https://martinfowler.com/books/patterns-distributed.html

http://charap.co/reading-group-paxos-vs-raft-have-we-reached-consensus-on-distributed-consensus/

https://news.ycombinator.com/item?id=27831576

https://ably.com/blog/8-fallacies-of-distributed-computing

https://queue.acm.org/detail.cfm?id=3480470

https://brooker.co.za/blog/2021/10/20/simulation.html

https://news.umich.edu/distributed-protocol-underpinning-cloud-computing-automatically-determined-safe-and-secure/

https://www.consul.io/docs/architecture/consensus

https://news.ycombinator.com/item?id=29079079

https://ferd.ca/beating-the-cap-theorem-checklist.html

https://news.ycombinator.com/item?id=41084736

CRDT

https://crdt.tech/

https://news.ycombinator.com/item?id=30983770

https://wiki.nikitavoloboev.xyz/distributed-systems/crdt

https://news.ycombinator.com/item?id=28998767

https://ably.com/blog/crdts-distributed-data-consistency-challenges

https://news.ycombinator.com/item?id=29025724

https://github.com/xi-editor/xi-editor/blob/e8065a3993b80af0aadbca0e50602125d60e4e38/doc/crdt-details.md

https://www.notion.so/blog/data-model-behind-notion

https://news.ycombinator.com/item?id=27200177 https://github.com/relm-us/svelt-yjs https://github.com/djyde/plastic-editor

https://rxdb.info/downsides-of-offline-first.html

https://news.ycombinator.com/item?id=28717848

https://aosabook.org/en/distsys.html

https://github.com/ipfs/go-ds-crdt

https://bartoszsypytkowski.com/yrs-architecture/

https://writer.zohopublic.com/writer/published/grcwy5c699d67b9c444219b60cdb90ccbabc7

https://news.ycombinator.com/item?id=29433896

https://www.youtube.com/watch?v=Qytg0Ibet2E

https://github.com/automerge/automerge

https://www.youtube.com/watch?v=x7drE24geUw CRDTs: The Hard Parts

https://github.com/automerge/automerge js, json

https://news.ycombinator.com/item?id=30412550

https://martin.kleppmann.com/papers/bft-crdt-papoc22.pdf Making CRDTs Byzantine Fault Tolerant

https://news.ycombinator.com/item?id=30560573

https://automerge.org/

https://arxiv.org/abs/2205.12425 Katara: Synthesizing CRDTs with Verified Lifting

https://news.ycombinator.com/item?id=32977887

https://josephg.com/blog/crdts-are-the-future/

https://jzhao.xyz/posts/bft-json-crdt/

https://news.ycombinator.com/item?id=33694568

https://madebyevan.com/algos/crdt-fractional-indexing/

https://news.ycombinator.com/item?id=33764449

https://zed.dev/blog/crdts

https://news.ycombinator.com/item?id=33820975

https://driftingin.space/posts/you-might-not-need-a-crdt

https://news.ycombinator.com/item?id=33865672

https://josephg.com/blog/crdts-go-brrr/

https://news.ycombinator.com/item?id=33903563

https://supabase.com/blog/postgres-crdt

https://news.ycombinator.com/item?id=33931971

https://arxiv.org/abs/2210.12605

https://www.vldb.org/pvldb/vol16/p856-power.pdf

https://news.ycombinator.com/item?id=34329779

https://docs.rs/yrs/0.16.0/yrs/

https://news.ycombinator.com/item?id=34532874

https://vlcn.io/blog/gentle-intro-to-crdts.html

https://news.ycombinator.com/item?id=34746716

https://news.ycombinator.com/item?id=35530040

https://loro-dev.notion.site/crdt-richtext-Rust-implementation-of-Peritext-and-Fugue-c49ef2a411c0404196170ac8daf066c0

https://news.ycombinator.com/item?id=35988046

https://jsonjoy.com/blog/list-crdt-benchmarks

https://news.ycombinator.com/item?id=36030866

https://news.ycombinator.com/item?id=36519448

https://jakelazaroff.com/words/making-crdts-98-percent-more-efficient/

https://news.ycombinator.com/item?id=37915934

https://news.ycombinator.com/item?id=38248900

https://jakelazaroff.com/words/an-interactive-intro-to-crdts/

https://jakelazaroff.com/words/building-a-collaborative-pixel-art-editor-with-crdts/

https://news.ycombinator.com/item?id=38289327

https://bytes.zone/posts/modeling-crdts-in-alloy-counters/

https://news.ycombinator.com/item?id=38501437

https://www.farley.ai/posts/causal

https://news.ycombinator.com/item?id=38661580

https://interjectedfuture.com/trade-offs-between-different-crdts/

https://news.ycombinator.com/item?id=38916647

https://www.loro.dev/blog/loro-richtext

https://news.ycombinator.com/item?id=39102577

https://interjectedfuture.com/crdts-turned-inside-out/

https://news.ycombinator.com/item?id=39130945

https://interjectedfuture.com/trade-offs-between-different-crdts/

https://news.ycombinator.com/item?id=38916647

https://loro.dev/blog/movable-tree

https://news.ycombinator.com/item?id=41099901

https://www.moment.dev/blog/lies-i-was-told-pt-1 Algorithms for offline editing

https://news.ycombinator.com/item?id=42343953

UI

https://syncedstore.org/docs/

https://news.ycombinator.com/item?id=29483913

OT

https://brunocalza.me/getting-to-know-logical-clocks-by-implementing-them/

https://news.ycombinator.com/item?id=27714251

https://josephg.com/blog/crdts-go-brrr/

https://news.ycombinator.com/item?id=28017204

https://arxiv.org/abs/2002.09511 Chronofold: a data structure for versioned text

https://medium.com/figma-design/realtime-editing-of-ordered-sequences-c1e6b46fcd67

https://dov.dev/blog/figment-collaborative-editing

https://news.ycombinator.com/item?id=29866054

Concurrent updates

https://martinfowler.com/articles/patterns-of-distributed-systems/version-vector.html

Lamport Clock

https://martinfowler.com/articles/patterns-of-distributed-systems/lamport-clock.html

https://news.ycombinator.com/item?id=27628553

https://sigops.org/s/conferences/hotos/2021/papers/hotos21-s11-bronson.pdf

https://news.ycombinator.com/item?id=28750103

https://distributed-computing-musings.com/2023/04/vector-clocks-so-what-time-is-it/

https://news.ycombinator.com/item?id=36584809

https://blog.fponzi.me/2024-02-02-lamport-clocks.html

https://news.ycombinator.com/item?id=39299482

Database

https://dbos-project.github.io/blog/intro-blog.html

https://news.ycombinator.com/item?id=32705025

https://github.com/gitsrc/IceFireDB

https://news.ycombinator.com/item?id=28257243

https://github.com/erikgrinaker/toydb

https://news.ycombinator.com/item?id=27874992

https://www.micahlerner.com/2021/06/12/foundationdb-a-distributed-unbundled-transactional-key-value-store.html

https://news.ycombinator.com/item?id=28740497

https://ydb.tech/ yandex

https://news.ycombinator.com/item?id=31081272

https://github.com/surrealdb/surrealdb

https://news.ycombinator.com/item?id=32874597

https://notes.eatonphil.com/minimal-key-value-store-with-hashicorp-raft.html

https://news.ycombinator.com/item?id=32893090

https://github.com/tigerbeetledb/tigerbeetle zig

https://github.com/tigerbeetledb/tigerbeetle/blob/main/docs/HISTORY.md

https://news.ycombinator.com/item?id=33192288

https://www.scylladb.com/2022/10/12/a-new-scylladb-go-driver-faster-than-gocql-and-its-rust-counterpart/

https://news.ycombinator.com/item?id=33187677

https://questdb.io/blog/inner-workings-distributed-databases/

https://news.ycombinator.com/item?id=35602983

https://www.amazon.science/publications/amazon-memorydb-a-fast-and-durable-memory-first-cloud-database

https://news.ycombinator.com/item?id=40158794

https://news.ycombinator.com/item?id=41268043

https://www.vldb.org/pvldb/vol17/p3720-eldeeb.pdf

Test

https://fsantanna.github.io/structured-concurrency.html

https://news.ycombinator.com/item?id=30754854

https://github.com/jepsen-io/jepsen

https://github.com/tylertreat/comcast

https://github.com/honzaap/Systemizer system design tool used to create and simulate large scale distributed systems

https://github.com/anishathalye/porcupine

https://asatarin.github.io/testing-distributed-systems/

https://github.com/wildarch/jepsen.rqlite/blob/main/doc/blog.md

https://news.ycombinator.com/item?id=31089363

https://github.com/logsem/aneris coq, ocaml

https://p-org.github.io/P/whatisP/

https://news.ycombinator.com/item?id=34273979

https://tokio.rs/blog/2023-01-03-announcing-turmoil

https://news.ycombinator.com/item?id=37163187

https://blog.redplanetlabs.com/2023/10/24/how-rama-is-tested-a-primer-on-testing-distributed-systems/

https://news.ycombinator.com/item?id=39759344

https://jepsen.io/analyses/datomic-pro-1.0.7075

https://news.ycombinator.com/item?id=40369467

concurrencyngs

News

https://thesecretlivesofdata.com/raft/

https://news.ycombinator.com/item?id=41669850

https://news.ycombinator.com/item?id=41246181

https://news.ycombinator.com/item?id=40964852

https://news.ycombinator.com/item?id=40527220

https://blog.dtornow.com/the-cap-theorem.-the-bad-the-bad-the-ugly/

https://news.ycombinator.com/item?id=39625651

https://muratbuffalo.blogspot.com/2024/02/tunable-consistency-in-mongodb.html

https://blog.schmizz.net/disaggregated-wal

https://news.ycombinator.com/item?id=39282054

https://news.ycombinator.com/item?id=39303160

https://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed/

https://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed/

https://www.youtube.com/watch?v=prM-0i58XBM

https://github.com/infinyon/fluvio

https://news.ycombinator.com/item?id=38503671

https://shachaf.net/w/consensus

https://news.ycombinator.com/item?id=37245109

https://www.multiplayer.app/blog/6-best-practices-for-backend-design-in-distributed-system/

https://queue.acm.org/detail.cfm?id=1142044 The Rise and Fall of CORBA

https://news.ycombinator.com/item?id=36546954

https://muratbuffalo.blogspot.com/2023/04/the-end-of-myth-distributed.html Distributed transactions can scale

https://news.ycombinator.com/item?id=35520044

https://uniffle.apache.org/ High performance, general purpose remote shuffle service for distributed computing engines

https://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html

https://news.ycombinator.com/item?id=35521650

https://www.exhypothesi.com/clocks-and-causality/

https://news.ycombinator.com/item?id=35399603

https://opensource.googleblog.com/2023/03/introducing-service-weaver-framework-for-writing-distributed-applications.html

https://news.ycombinator.com/item?id=34986267

https://bravenewgeek.com/you-cannot-have-exactly-once-delivery/

https://news.ycombinator.com/item?id=34986691

https://news.ycombinator.com/item?id=34897723

https://book.mixu.net/distsys/

https://github.com/LeonHartley/Coerce-rs

https://news.ycombinator.com/item?id=34832904

https://www.cidrdb.org/cidr2023/papers/p83-yadav.pdf

https://news.ycombinator.com/item?id=34704488

https://www.yugabyte.com/blog/yugabytedb-savepoints-distributed-transactions/

https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bb

https://architecturenotes.co/fallacies-of-distributed-systems/

https://lobste.rs/s/ymzfdl/aurae_runtime

https://martin.kleppmann.com/2022/10/12/verifying-distributed-systems-isabelle.html

https://blog.the-pans.com/discover-paxos/

https://www.youtube.com/watch?v=cNICGEwmXLU "Systems that run forever self-heal and scale" by Joe Armstrong (2013)

https://cloudblogs.microsoft.com/opensource/2018/12/13/introducing-ambrosia-new-platform-distributed-applications/

https://dl.acm.org/doi/10.1145/3916.3988 Virtual time

https://github.com/pingcap/talent-plan

https://github.com/bastion-rs/bastion

https://news.ycombinator.com/item?id=33361937

https://www.gojek.io/blog/resiliency-in-distributed-systems

https://sookocheff.com/post/distributed-systems/distributed-system-models-in-the-real-world/

https://medium.com/nerd-for-tech/distributed-system-models-966ff15fe84d

https://github.com/jafarlihi/cppq Simple, reliable & efficient distributed task queue for C++17. Backed by Redis

https://wingolog.org/archives/2022/10/03/on-correct-and-efficient-work-stealing-for-weak-memory-models

https://www.linuxjournal.com/content/lock-free-multi-producer-multi-consumer-queue-ring-buffer

https://github.com/samsquire/multiversion-concurrency-control Implementation of multiversion concurrency control, Raft, Left Right concurrency Hashmaps and a multi consumer multi producer Ringbuffer, concurrent and parallel load-balanced loops, parallel actors implementation in Main.java https://news.ycombinator.com/item?id=33065142

https://github.com/go-micro/go-micro

https://news.ycombinator.com/item?id=33030611

https://voidpapers.substack.com/p/voidpapers-time-clocks-and-the-ordering

https://news.ycombinator.com/item?id=32977970

https://qworum.net/en/

https://lobste.rs/s/pxwg6f/qworum_platform_for_distributed_web

https://research.protocol.ai/publications/state-machine-replication-scalability-made-simple/

https://github.com/ReubenBond/fast-caspaxos

https://docs.microsoft.com/en-us/windows/win32/dxtecharts/lockless-programming

https://thenewstack.io/the-silent-semantic-failures-that-break-distributed-systems/

https://lockable.dev/ ? $ Easy-to-use sync locks for distributed systems -> distributed lease

https://news.ycombinator.com/item?id=31764026

https://architecturenotes.co/fallacies-of-distributed-systems/

https://news.ycombinator.com/item?id=31626132

https://www.complete.org/filespooler/

https://github.com/richardartoul/tsdb-layer

https://news.ycombinator.com/item?id=31540521

https://jbaker.io/2022/05/09/project-loom-for-distributed-systems/

https://hazelcast.com/blog/tracing-a-single-operation-in-distributed-systems/

https://jbaker.io/2022/05/09/project-loom-for-distributed-systems/

https://news.ycombinator.com/item?id=31314006

https://github.com/uqfoundation/pathos

https://timur.audio/dwcas-in-c

https://queue.acm.org/detail.cfm?id=3526967 Distributed Latency Profiling through Critical Path Tracing

https://martin.kleppmann.com/papers/move-op.pdf A highly-available move operation for replicated trees

https://250bpm.com/blog:71/ Structured Concurrency

https://blog.mi.hdm-stuttgart.de/index.php/2022/03/03/cascading-failures-in-large-scale-distributed-systems/

https://kislayverma.com/software-architecture/building-robust-distributed-systems/

https://www.reddit.com/r/programming/comments/tchw6n/how_to_build_robust_distributed_systems/

http://muratbuffalo.blogspot.com/2022/03/foundationdb-distributed-unbundled.html

https://news.ycombinator.com/item?id=30640932

https://medium.com/criteo-engineering/distributed-rate-limiting-algorithms-a35f7e24783

https://lists.apache.org/[email protected]:2022-2 Apache ShardingSphere 5.1.0 available

https://jepsen.io/analyses/radix-dlt-1.0-beta.35.1

https://news.ycombinator.com/item?id=30221187

https://blog.sentry.io/2019/09/17/how-to-get-stronger-consistency-out-of-a-datastore

https://news.ycombinator.com/item?id=30186703

http://cthulix.com/preview.html

https://news.ycombinator.com/item?id=30098855

https://arxiv.org/abs/2201.00813 Lock-Free Locks Revisited

https://news.ycombinator.com/item?id=30096822

https://papers.s3.fr-par.scw.cloud/hive.pdf Hive: A Globally-Distributed Key/Value Store cluster embedding clusters

https://news.ycombinator.com/item?id=30115350

https://aws.amazon.com/en/builders-library/avoiding-fallback-in-distributed-systems/

https://martinfowler.com/articles/patterns-of-distributed-systems/replicated-log.html

https://www.researchgate.net/profile/Xavier-Defago/publication/29682135_The_ph_accrual_failure_detector/links/0a85e53ce412e3b069000000/The-ph-accrual-failure-detector.pdf

https://pdos.csail.mit.edu/6.824/papers/raft-extended.pdf

https://news.ycombinator.com/item?id=29837995

https://martinfowler.com/articles/patterns-of-distributed-systems/paxos.html

https://news.ycombinator.com/item?id=29821169

https://replicated.cc/files/schmebulock.pdf Swarm consensus

https://news.ycombinator.com/item?id=29711381

https://dthain.blogspot.com/2009/02/exponential-backoff-in-distributed.html

https://julialang.org/blog/2021/12/dtable-performance-assessment/

https://news.ycombinator.com/item?id=29487655

https://www.micahlerner.com/2021/10/13/tao-facebooks-distributed-data-store-for-the-social-graph.html