All Projects → tmrts → teracache

tmrts / teracache

Licence: Apache-2.0 license
Scalable, fault-tolerant, highly-available cache

Programming Languages

go
31211 projects - #10 most used programming language
Protocol Buffer
295 projects

Projects that are alternatives of or similar to teracache

little-raft
The lightest distributed consensus library. Run your own replicated state machine! ❤️
Stars: ✭ 316 (+2006.67%)
Mutual labels:  distributed-systems
interview
成为一名更好的软件工程师所需要的一切。
Stars: ✭ 14 (-6.67%)
Mutual labels:  distributed-systems
MIT6.824-2021
4 labs + 2 challenges + 4 docs
Stars: ✭ 594 (+3860%)
Mutual labels:  distributed-systems
distributed rl
Pytorch implementation of distributed deep reinforcement learning
Stars: ✭ 66 (+340%)
Mutual labels:  distributed-systems
mindware
An efficient open-source AutoML system for automating machine learning lifecycle, including feature engineering, neural architecture search, and hyper-parameter tuning.
Stars: ✭ 34 (+126.67%)
Mutual labels:  distributed-systems
NodeDial
A distributed, key-value NoSQL database 🌌
Stars: ✭ 13 (-13.33%)
Mutual labels:  distributed-systems
moleculer-java
Java implementation of the Moleculer microservices framework
Stars: ✭ 39 (+160%)
Mutual labels:  distributed-systems
zimfarm
Farm operated by bots to grow and harvest new zim files
Stars: ✭ 58 (+286.67%)
Mutual labels:  distributed-systems
ripple
Simple shared surface streaming application
Stars: ✭ 17 (+13.33%)
Mutual labels:  distributed-systems
pat-helland-and-me
Materials related to my talk "Pat Helland and Me"
Stars: ✭ 14 (-6.67%)
Mutual labels:  distributed-systems
go-chassis-config
pull and push configs in distributed configuration management service. migrated to go-archaius https://github.com/go-chassis/go-archaius/pull/87
Stars: ✭ 23 (+53.33%)
Mutual labels:  distributed-systems
research
research, notes & ideas on various subjects
Stars: ✭ 54 (+260%)
Mutual labels:  distributed-systems
huffleraft
Replicated key-value store driven by the raft consensus protocol 🚵
Stars: ✭ 32 (+113.33%)
Mutual labels:  distributed-systems
nsq-0.3.7
nsq注释版基于0.3.7版本
Stars: ✭ 45 (+200%)
Mutual labels:  distributed-systems
matrixone
Hyperconverged cloud-edge native database
Stars: ✭ 1,057 (+6946.67%)
Mutual labels:  distributed-systems
fabex
Block explorer for Hyperledger Fabric
Stars: ✭ 26 (+73.33%)
Mutual labels:  distributed-systems
learning-computer-science
Learning data structures, algorithms, machine learning and various computer science constructs by programming practice from resources around the web.
Stars: ✭ 28 (+86.67%)
Mutual labels:  distributed-systems
pylm
A framework to build components for high performance distributed applications.
Stars: ✭ 14 (-6.67%)
Mutual labels:  distributed-systems
Learning-Notes
some notes on learning C++, Go, UNIX, Database and Distributed System
Stars: ✭ 24 (+60%)
Mutual labels:  distributed-systems
Pubbie
A high performance pubsub client/server implementation for .NET Core
Stars: ✭ 122 (+713.33%)
Mutual labels:  distributed-systems

Teracache
build-status License Release Version Documentation

Teracache is a scalable, decentralized, highly-available in-memory cache for read-asymmetrical workflows.

Workflow

The workflow diagram depicts a system with multiple topics and nodes where each color represents the topic they're in.

workflow-diagram

What is Read-Asymmetrical?

In a read-asymmetrical workflow, reads are frequent while the writes are rare. For example a newsfeed will resize and optimize a thumbnail when a new article arrives and then serve the optimized thumbnail to thousands or millions of users.

In such cases, it is very profitable to use a cache that doesn't sacrifice performance to allow write operations. Teracache does exactly this trade-off.

How to use invalidations?

Cache entries are immutable and no entry is considered stale. Entries are evicted only to admit more popular entries.

Inspired By

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].