27 रिपॉजिटरी
Algorithms that map data across cluster nodes using a circular space to minimize remapping during scaling.
Explore 27 awesome GitHub repositories matching software engineering & architecture · Consistent Hashing. Refine with filters or upvote what's useful.
Developer Roadmap एक समुदाय-संचालित प्लेटफ़ॉर्म है जो सॉफ्टवेयर इंजीनियरिंग के लिए संरचित, ग्राफ-आधारित शिक्षण पथ प्रदान करता है। यह एक व्यापक ज्ञान रिपॉजिटरी के रूप में कार्य करता है जहाँ तकनीकी डोमेन को पेशेवर कौशल अधिग्रहण और करियर विकास का मार्गदर्शन करने के लिए दृश्य अनुक्रमों में व्यवस्थित किया जाता है। यह प्रोजेक्ट एक सहयोगात्मक पारिस्थितिकी तंत्र के माध्यम से खुद को अलग करता है जो उपयोगकर्ताओं को रोडमैप में योगदान करने, उद्योग के सर्वोत्तम अभ्यासों को क्यूरेट करने और पेशेवर प्रोफाइल बनाए रखने में सक्षम बनाता है। यह तकनीकी दक्षता का मूल्यांकन करने के लिए डायग्नोस्टिक असेसमेंट फ्रेमवर्क को एकीकृत करता है, जिससे डेवलपर्स को ज्ञान के अंतराल की पहचान करने और लक्षित शिक्षण अनुक्रमों के माध्यम से पेशेवर साक्षात्कारों की तैयारी करने में मदद मिलती है। अपनी मुख्य मैपिंग क्षमताओं से परे, प्लेटफ़ॉर्म इंजीनियरिंग अवधारणाओं को सुदृढ़ करने के लिए व्यावहारिक प्रोजेक्ट विचार और इंटरैक्टिव ट्यूशन प्रदान करता है। यह समुदाय के लिए संसाधनों को साझा करने, प्रगतिशील कौशल विकास को ट्रैक करने और जटिल तकनीकी परिदृश्यों को नेविगेट करने के लिए एक केंद्रीकृत स्थान प्रदान करता है।
Uses consistent hashing for distributing roadmap data across nodes.
This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac
Uses consistent hashing and virtual nodes to distribute data and requests across a cluster with minimal redistribution.
This project serves as a comprehensive knowledge base and reference for distributed systems engineering and enterprise software architecture. It provides a structured collection of technical resources, design patterns, and methodologies intended to assist in the design, maintenance, and scaling of complex, high-performance software environments. The repository distinguishes itself by offering deep dives into core architectural concepts such as actor-based concurrency, aspect-oriented interception, and inversion-of-control containers. It emphasizes the practical application of distributed syst
Map data across cluster nodes using circular space algorithms to minimize remapping overhead during dynamic scaling.
StatsD is a network-based metrics daemon and aggregator that collects application performance data, such as counters and timers, for periodic delivery to backend services. It functions as system monitoring middleware, receiving telemetry via UDP to minimize performance overhead on monitored services. The system acts as a distributed metrics router, employing consistent hashing to distribute data points across clusters and ensure aggregation accuracy. It includes cluster health monitoring to track node availability and automatically recalculate routing paths when services go offline. The proj
Implements consistent hashing to route metric keys to specific daemon instances for consistent aggregation across clusters.
brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio
Distributes requests across a cluster using consistent hashing algorithms like Ketama to minimize scaling disruption.
This project is an educational framework designed to teach the fundamentals of building core distributed systems and web services from scratch in Go. It provides a collection of modular implementations that demonstrate how to construct essential infrastructure components, including web servers, remote procedure call systems, distributed caches, and database abstraction layers. The framework distinguishes itself by focusing on the internal mechanics of these systems rather than providing a high-level abstraction for production use. It covers the implementation of complex architectural patterns
Uses consistent hashing with a circular address space to ensure balanced data distribution and minimal remapping.
VictoriaMetrics is a high-performance, scalable time series database and observability platform designed for long-term storage and analysis of metric, log, and trace data. It functions as a unified backend for monitoring ecosystems, offering full compatibility with industry-standard protocols and query languages. The system is built to handle massive data volumes through a distributed architecture that supports horizontal scaling and efficient data lifecycle management. The platform distinguishes itself through a storage engine that utilizes consistent hashing for data sharding and log-struct
Distributes time-series data across multiple storage nodes using consistent hashing to enable horizontal scalability.
Tengine is an enhanced Nginx web server distribution designed for high-traffic environments. It functions as a high-performance reverse proxy, dynamic load balancer, and HTTP/3 proxy server, integrating an embedded Lua scripting engine to allow for custom business logic and dynamic request processing. The project distinguishes itself through a focus on modern transport protocols and efficiency, featuring native support for QUIC and HTTP/3 to reduce connection latency. It implements userspace UDP forwarding to bypass the kernel for higher throughput and provides the ability to dynamically upda
Provides session persistence by distributing network requests across backend servers using a circular hash space.
Groupcache is a distributed caching library designed to coordinate data retrieval and storage across a cluster of nodes. It functions as a peer-to-peer data store that uses consistent hashing to assign specific keys to canonical owners, ensuring that cached items remain predictable and accessible throughout the network. The system distinguishes itself through a request coalescing engine that merges concurrent requests for the same missing key into a single upstream fetch. This mechanism prevents redundant backend load by ensuring that only one process retrieves the required data while sharing
Maps keys to specific cluster nodes using a ring-based algorithm to ensure stable data ownership and predictable lookups.
Twemproxy is a lightweight proxy that routes and distributes requests across multiple Redis and Memcached backend servers. It functions as a protocol translation gateway and distributed cache shard manager, partitioning data across clusters to balance load and storage capacity. The system acts as a high-availability cache orchestrator, employing health monitoring and automatic server ejection to maintain continuous access to cached data. It integrates with sentinels for dynamic master and replica discovery and utilizes consistent hashing and tag-based key grouping to manage data distribution
Distributes keys across a pool of backend servers using circular hash space to minimize remapping during scaling.
This project is a comprehensive knowledge base and study resource designed for mastering technical interviews. It provides structured guides, roadmaps, and curricula focused on data structures, algorithms, system design, and frontend engineering to help candidates prepare for software engineering screenings. The repository distinguishes itself by offering a holistic approach to professional advancement. Beyond technical drills, it includes a career development handbook covering resume optimization, salary benchmarking, and strategic negotiation coaching. It also provides detailed methodologie
Teaches consistent hashing algorithms to minimize data redistribution during the scaling of distributed systems.
Cortex is an open-source, horizontally scalable metrics platform that ingests, stores, and queries Prometheus-compatible time-series data with multi-tenant isolation. It accepts metrics via Prometheus remote write and OpenTelemetry, executes PromQL queries against both recent and historical data, and provides a Prometheus-compatible alerting and recording rule engine with an integrated Alertmanager. The system is built as a set of independently scalable microservices that use hash-ring-based sharding, gossip-based cluster membership, and tenant-aware object storage to distribute workloads acro
Distributes ownership of time series and blocks across instances using a consistent hash ring for horizontal scaling.
Katran is an eBPF-based Layer 4 load balancer designed for high-performance network packet forwarding directly within the Linux kernel. It utilizes an XDP network packet processor to bypass the standard kernel network stack, minimizing latency and maximizing throughput for incoming traffic. The system implements weighted consistent hashing to distribute network loads and maintain session persistence across backend servers. It further optimizes the return path through a direct server return gateway, which allows backends to respond directly to clients and removes the load balancer from the out
Implements a load balancing system using weighted consistent hashing to distribute network loads while maintaining persistence.
GlusterFS एक सॉफ़्टवेयर-परिभाषित वितरित फ़ाइल सिस्टम और स्केल-आउट स्टोरेज क्लस्टर है जो कई सर्वरों से डिस्क संसाधनों को एक एकल वैश्विक नेमस्पेस में एकत्रित करता है। यह एक एकीकृत स्टोरेज प्लेटफ़ॉर्म के रूप में कार्य करता है, जो समान अंतर्निहित डेटा को फ़ाइल, ब्लॉक और ऑब्जेक्ट स्टोरेज इंटरफेस के माध्यम से उजागर करने की अनुमति देता है। सिस्टम एक विकेंद्रीकृत आर्किटेक्चर के माध्यम से खुद को अलग करता है जो केंद्रीय मेटाडेटा सर्वर के बिना नेटवर्क नोड्स पर फ़ाइलों को वितरित करने के लिए सुसंगत हैशिंग का उपयोग करता है। यह डेटा अखंडता और उपलब्धता सुनिश्चित करने के लिए सेल्फ-हीलिंग प्रतिकृति, स्प्लिट-ब्रेन परिदृश्यों को रोकने के लिए कोरम-आधारित स्थिरता, और दूरस्थ भौगोलिक साइटों पर आपदा रिकवरी के लिए एसिंक्रोनस भू-प्रतिकृति का उपयोग करता है। प्लेटफ़ॉर्म NFS, Samba और iSCSI के माध्यम से मल्टी-प्रोटोकॉल स्टोरेज निर्यात, और पॉइंट-इन-टाइम स्नैपशॉट, स्टोरेज कोटा और इलास्टिक क्षमता विस्तार सहित व्यापक वॉल्यूम प्रबंधन के साथ व्यापक क्षमता कवरेज प्रदान करता है। सुरक्षा को डेटा इन-ट्रांजिट के लिए TLS एन्क्रिप्शन, पहचान प्रबंधन एकीकरण, और दानेदार POSIX एक्सेस कंट्रोल के माध्यम से संभाला जाता है। सॉफ़्टवेयर विभिन्न Linux वितरणों के लिए सामुदायिक रिपॉजिटरी के माध्यम से बाइनरी पैकेज के रूप में उपलब्ध है।
Uses a consistent hashing algorithm to distribute files across network nodes without requiring a central metadata server.
Mimir एक मल्टी-टेनेंट टाइम सीरीज़ डेटाबेस और वितरित मेट्रिक्स स्टोर है जिसे स्केलेबल टेलीमेट्री के लिए डिज़ाइन किया गया है। यह एक Prometheus संगत बैकएंड के रूप में कार्य करता है, जो टाइम-सीरीज़ डेटा की विशाल मात्रा के लिए दीर्घकालिक स्टोरेज और एक स्केलेबल क्वेरी इंजन प्रदान करता है। यह सिस्टम मल्टी-टेनेंट ऑब्जर्वेबिलिटी के लिए बनाया गया है, जो एक ही क्लस्टर के भीतर स्वतंत्र टीमों या संगठनों के लिए टेलीमेट्री डेटा और संसाधन सीमाओं को अलग करता है। यह बाहरी डेटाबेस निर्भरता को खत्म करने के लिए पर्सिस्टेंस के लिए ऑब्जेक्ट स्टोरेज का उपयोग करके, वितरित क्लस्टर में डेटा को शार्डिंग और रेप्लिकेट करके उच्च उपलब्धता और स्थायित्व सुनिश्चित करता है। यह प्रोजेक्ट क्रॉस-रीजन विश्लेषण के लिए ग्लोबल मेट्रिक्स एग्रीगेशन और पैरेललाइज़ेशन और कैशिंग का उपयोग करके वितरित क्वेरी निष्पादन सहित व्यापक क्षमताओं को कवर करता है। यह फेडरेटेड अलर्टिंग, सिंथेटिक मॉनिटरिंग और समस्या निवारण में तेज़ी लाने के लिए AI-संचालित घटना समाधान वर्कफ़्लो जैसे ऑब्जर्वेबिलिटी टूलिंग को भी एकीकृत करता है। प्रशासनिक नियंत्रणों में टेनेंट संसाधन कोटा, प्रति-उपयोगकर्ता संसाधन ओवरराइड और वर्कलोड अलगाव के लिए शफल-शार्डिंग शामिल हैं।
Uses a consistent hash ring to distribute ownership of time series and blocks across cluster instances.
Armeria एक Netty-आधारित माइक्रोसर्विस फ्रेमवर्क है जिसका उपयोग उच्च-प्रदर्शन एसिंक्रोनस सेवाएं बनाने के लिए किया जाता है। यह एक मल्टी-प्रोटोकॉल RPC सर्वर के रूप में कार्य करता है जो एक ही एकीकृत पोर्ट पर gRPC, Thrift और REST सेवाओं को उजागर करने में सक्षम है। यह प्रोजेक्ट एक साथ विभिन्न संचार प्रोटोकॉल चलाने की अपनी क्षमता और अपने एकीकृत RPC डिबगिंग वेब कंसोल द्वारा प्रतिष्ठित है, जो JSON के माध्यम से रिमोट प्रोसीजर कॉल्स की खोज और आह्वान की अनुमति देता है। इसमें Protobuf सेवाओं के साथ वेब क्लाइंट संगतता को सक्षम करने के लिए एक gRPC से JSON ट्रांसकोडर भी शामिल है। यह फ्रेमवर्क माइक्रोसर्विस क्षमताओं का एक व्यापक सूट प्रदान करता है, जिसमें सर्किट ब्रेकर्स और रिट्रीज़ के साथ रिएक्टिव RPC क्लाइंट, क्लाइंट-साइड लोड बैलेंसिंग, और DNS, ZooKeeper व Consul के साथ सर्विस डिस्कवरी एकीकरण शामिल है। यह मेट्रिक्स संग्रह, डिस्ट्रीब्यूटेड ट्रेसिंग और इंटरैक्टिव सर्विस दस्तावेज़ीकरण के माध्यम से डिस्ट्रीब्यूटेड सिस्टम ऑब्जर्वेबिलिटी को भी कवर करता है। Armeria लेगेसी सर्वलेट कंटेनरों के एम्बेडिंग का समर्थन करती है और एक ही सर्वर प्रोसेस के भीतर सह-अस्तित्व की अनुमति देने के लिए थर्ड-पार्टी वेब फ्रेमवर्क के साथ एकीकृत होती है।
Performs periodic health checks to remove unhealthy servers from the active request rotation.
Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a distributed computing platform and state manager that enables isolated actors to communicate via asynchronous message passing, ensuring thread-safe state management without manual locks. The project is distinguished by its decentralized coordination capabilities, including a distributed state manager that uses sharding and dynamic rebalancing to maintain high availability. It incorporates an event sourcing engine that persists state as a sequence of events in an append-only log an
Implements consistent hashing to partition actors across a cluster, ensuring balanced workload and state distribution.
यह प्रोजेक्ट सीनियर-लेवल Java इंजीनियरिंग पर केंद्रित एक तकनीकी साक्षात्कार पाठ्यक्रम और अध्ययन गाइड है। यह सिस्टम डिज़ाइन, उच्च-कॉन्करेंसी इंजीनियरिंग और वितरित सिस्टम के निर्माण पर केंद्रित एक पाठ्यक्रम प्रदान करता है। संसाधनों में एक वितरित डेटाबेस रणनीति गाइड और एक माइक्रोसर्विसेज आर्किटेक्चर संदर्भ शामिल है। ये सामग्री मैसेज क्यू, वितरित सिस्टम और विश्वसनीय एसिंक्रोनस संचार के कार्यान्वयन के लिए विशिष्ट डिज़ाइन पैटर्न को कवर करती है। सामग्री सर्च इंजन आर्किटेक्चर, वितरित कैश ऑप्टिमाइज़ेशन और सर्विस ट्रैफ़िक गवर्नेंस सहित व्यापक क्षमता क्षेत्रों को कवर करती है। यह डेटाबेस शार्डिंग, रीड-राइट स्प्लिटिंग, वितरित लॉकिंग और सर्विस डिस्कवरी जैसे आर्किटेक्चरल पैटर्न का भी विवरण देती है।
Explains consistent hashing algorithms for efficient data distribution across cache clusters during scaling.
यह एक Ruby क्लाइंट लाइब्रेरी और प्रोटोकॉल ड्राइवर है जिसका उपयोग Ruby एप्लिकेशन को Redis डेटाबेस के साथ एकीकृत करने के लिए किया जाता है। यह एक संचार परत के रूप में कार्य करती है जो प्रोटोकॉल संस्करणों को प्रबंधित करती है और डेटाबेस ऑपरेशन निष्पादित करने के लिए एक सुसंगत इंटरफ़ेस प्रदान करती है। यह लाइब्रेरी स्टैंडअलोन इंस्टेंस, उच्च-उपलब्धता मास्टर डिस्कवरी और फ़ेलओवर के लिए Redis Sentinel, और स्लॉट-जागरूक अनुरोध रूटिंग और नोड डिस्कवरी के साथ Redis क्लस्टर सहित विभिन्न तैनाती टोपोलॉजी का समर्थन करती है। यह स्वतंत्र सर्वरों में डेटा वितरित करने के लिए सुसंगत हैशिंग का उपयोग करके क्लाइंट-साइड शार्डिंग भी प्रदान करती है। व्यापक क्षमताओं में परमाणु ट्रांजेक्शन प्रबंधन और सर्वर-साइड परिवर्तनों के लिए Lua स्क्रिप्टिंग, साथ ही भू-स्थानिक निर्देशांक और स्ट्रीम जैसे विशेष डेटा प्रकारों के लिए समर्थन शामिल है। प्रदर्शन को कमांड पाइपलाइनिंग और नेटिव पार्सिंग एक्सटेंशन के माध्यम से अनुकूलित किया जाता है, जबकि सुरक्षा को SSL/TLS एन्क्रिप्शन और पारस्परिक प्रमाणपत्र प्रमाणीकरण के माध्यम से संभाला जाता है। क्लाइंट में स्वचालित एकीकरण परीक्षण के लिए कंटेनरों का उपयोग करके स्टैंडअलोन और क्लस्टर डेटाबेस टोपोलॉजी को ऑर्केस्ट्रेट करने के लिए टूलिंग शामिल है।
Implements consistent hashing to distribute data across a cluster of independent Redis servers.
This project is a comprehensive performance programming guide and reference for the Go language, focusing on runtime efficiency and memory optimization. It provides a collection of patterns and techniques designed to increase execution speed by reducing garbage collection overhead and optimizing memory usage. The resource distinguishes itself through detailed reference implementations for memory optimization, such as escape analysis, object pooling, and structure memory alignment. It offers specific strategies for reducing binary size and improving CPU cache efficiency through structure memor
Implements consistent hashing algorithms to distribute data across cluster nodes and minimize remapping during scaling.