30 open-source projects similar to coderbruis/javasourcecodelearning, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best JavaSourceCodeLearning alternative.
Iggy is a distributed message streaming platform and multi-protocol message broker that functions as a persistent distributed log store. It provides infrastructure for publishing and consuming binary messages using an append-only log, ensuring high availability and data consistency across nodes through Viewstamped Replication. The platform is distinguished by its specialized LLM streaming infrastructure, which uses a server protocol to connect large language models to streaming data and system controls. This includes standardized protocols for context management and data bridging via HTTP or
This repository serves as a technical reference for designing scalable, resilient, and performant software within distributed service environments. It provides a collection of architectural patterns and structural strategies intended to guide the development of complex, decoupled systems that maintain high availability and data integrity under heavy load. The resource focuses on the core principles of microservices architecture, offering guidance on managing communication between independent software components through both synchronous and asynchronous messaging. It details strategies for mai
This project is a learning platform and study guide focused on the principles of distributed systems and software architecture. It provides a collection of architectural scenarios and technical problem statements designed to help engineers practice system design, capacity planning, and trade-off analysis for high-scale services. The repository distinguishes itself by offering functional prototypes and models for complex engineering challenges. Rather than providing purely theoretical documentation, it includes executable representations of system components—such as storage services, load bala
Redis is a high-performance in-memory key-value store that functions as a distributed cache, message broker, and NoSQL database. It provides sub-millisecond read and write access to data stored in RAM and can operate as a vector database for indexing high-dimensional embeddings. The system supports a wide range of data storage and synchronization primitives, including the management of strings, hashes, lists, sets, and JSON documents. It enables real-time data operations through atomic transactions, hybrid persistence using snapshots and append-only logs, and high-availability configurations
Concurrent Ruby is a comprehensive concurrency toolkit for the Ruby language that provides thread-safe data structures, synchronization primitives, and asynchronous execution patterns. It implements core concurrency abstractions including an actor model framework where isolated actors communicate through asynchronous message passing, a future and promise system for composing non-blocking operations, and thread pool executors that manage reusable worker threads for concurrent task execution. The library distinguishes itself through a broad set of coordination mechanisms that go beyond basic th
Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis
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
The Accidental CTO is a comprehensive collection of guides and frameworks focused on distributed systems architecture, resilience engineering, and system observability. It provides strategies for scaling applications from thousands to millions of users while maintaining high availability. The project offers specific methodologies for managing data volume through replication, sharding, and caching. It includes a framework for analyzing cloud infrastructure spending and evaluating transitions to self-hosted environments to reduce operational expenses. The resource covers the implementation of
This project is a collection of reference implementations and practical guides for building enterprise Java applications using the Spring Boot framework. It serves as a backend project gallery and implementation guide, providing a set of architectures for common server patterns. The repository distinguishes itself through a focus on distributed system design, offering examples for global unique identifier generation, distributed caching, and full-text search. It also includes templates and examples for creating custom Spring Boot starters to encapsulate shared dependencies and configurations
This project serves as a comprehensive technical reference for the architecture and design of data-intensive applications. It provides a structured analysis of the fundamental principles required to build reliable, scalable, and maintainable software systems, covering the core trade-offs inherent in modern data infrastructure. The repository explores the mechanics of distributed data management, including strategies for replication, partitioning, and achieving consensus across multiple nodes. It details the design of storage engines, indexing techniques, and transaction management models, whi
This project is a comprehensive educational resource and technical guide for building enterprise backend applications and RESTful services using the Spring Boot framework. It serves as a step-by-step tutorial for developing server-side logic, API routing, and distributed systems within the Java ecosystem. The documentation provides specific implementation guides for microservices architecture, focusing on coordinating distributed services and event-driven communication. It includes a practical reference for the Spring ecosystem, with detailed sections on security implementation and data persi
PPHC is a technical reference and educational resource for distributed systems engineering. It serves as a textbook and manual for designing high-concurrency architectures and scalable infrastructure. The project provides detailed guidance on distributed database engineering, covering data storage strategies such as B+ Trees and Log-Structured Merge-Trees. It includes material on distributed transaction management and the implementation of fault-tolerant systems using consensus algorithms and state synchronization. The resource covers a broad range of system design capabilities, including co
Akka is an actor model framework and distributed systems platform used to build concurrent and distributed applications. It provides a toolkit for managing multi-threaded state and behavior through asynchronous message passing, allowing developers to create concurrent applications without manual locks or synchronization. The system functions as a cluster management and event sourcing framework, automating the scaling and coordination of high-availability clusters. It enables the deployment of elastic services that coordinate workloads across multiple network nodes and ensures fault tolerance
「React技术揭秘」 一本自顶向下的React源码分析书
JavaTutorial is a specialized knowledge base and set of study guides focused on backend engineering, the Java ecosystem, distributed systems, and database internals. It serves as a technical reference for engineers, providing structured learning paths and curated content designed for Java backend developer interview preparation. The resource distinguishes itself through deep-dive analyses of internal mechanics, including JVM memory management, garbage collection algorithms, and the internal architecture of the Spring Framework. It provides detailed studies on database internals specifically f
Ballerina is a cloud-native programming language and distributed services framework designed for building and integrating networked services. It provides a network-aware runtime that manages non-blocking input and output operations to support scalable distributed systems. The platform features a visual programming environment that maintains bidirectional synchronization between source code and graphical sequence diagrams. It utilizes a structural type system to decouple independent software components and includes a cloud infrastructure generator that produces Docker and Kubernetes deployment
Pomelo is a distributed Node.js game server framework designed for building scalable multiplayer game backends and real-time web applications. It employs a multi-process architecture to distribute application logic horizontally across a cluster of machines, enabling high concurrency and balanced network traffic. The framework utilizes a WebSocket communication layer to manage bidirectional data exchange between diverse web clients and server clusters. It incorporates a remote procedure call system for triggering functions across remote server processes and uses Protocol Buffers for binary ser
Awesome Fenix is an open-source reference project and comprehensive guide that traces the evolution of software architecture from monolithic systems through microservices, service meshes, and serverless patterns. At its core, it provides a working bookstore application implemented in multiple architectural styles, allowing developers to study the trade-offs and migration paths between each approach through runnable code examples. The project distinguishes itself by treating infrastructure as disposable and reproducible, using Docker and Kubernetes to hide distributed complexity while enabling
This project is a technical programming guide and educational resource focused on Go internals, runtime mechanisms, and advanced language features. It provides detailed conceptual analysis of the language's execution model, including its scheduler, memory escape analysis, and garbage collection mechanisms. The material distinguishes itself through deep dives into high-concurrency system design, exploring the implementation of worker pools and communication channels. It also covers low-level network programming with a focus on I/O multiplexing and TCP state management, alongside a study of dis
This project is a comprehensive knowledge base designed to support software engineering interview preparation and professional development. It functions as a structured study guide that organizes complex computer science concepts, algorithmic problem-solving techniques, and system design principles into a searchable, hierarchical taxonomy. The repository distinguishes itself through a modular documentation pattern that encapsulates technical subjects into discrete, self-contained units. It provides verified code examples for fundamental data structures and algorithms, alongside a distributed
This project is a comprehensive technical guide to advanced Go programming. It serves as a programming guide, technical reference, and textbook covering low-level optimization and distributed systems architecture. The resource provides detailed instructions on writing assembly instructions to optimize performance-critical code and managing C-Go interoperability to bridge C libraries with Go. It also functions as a manual for implementing remote procedure call mechanisms and creating custom plugins for the Protocol Buffers compiler. The material covers high-level capabilities including the de
This project is a comprehensive educational resource and study guide focused on distributed systems architecture and backend infrastructure design. It provides a structured curriculum for mastering the principles of scalability, reliability, and performance required to design complex software systems. The repository distinguishes itself by offering a methodical approach to technical interview preparation, incorporating design patterns, architectural trade-offs, and spaced repetition tools to help users retain complex concepts. It emphasizes constraint-driven analysis, teaching users how to ev
Sarama is an Apache Kafka Go client library that provides native support for the Kafka protocol. It includes a protocol client for managing offsets and timestamps, a producer implementation for sending messages, and a consumer group coordinator to balance workloads across multiple instances. The library enables high throughput data streaming through concurrent message production and maintains strict partition ordering during network retries. It supports secure communication with Kafka brokers using certificate-based encryption to protect data traffic. The project covers a broad range of dist
kafka-python is a pure-Python client library for Apache Kafka that implements the Kafka wire protocol directly, without any native bindings or JVM dependencies. It provides the core capabilities of a Kafka client: producing messages to topics, consuming records from topics, and administering cluster resources such as topics and partitions, all through a Pythonic API or command-line tools. The library distinguishes itself through its comprehensive support for advanced Kafka features. It includes an asynchronous producer with background batching for throughput, a consumer group rebalance protoc
This project is a comprehensive library of practical Python code examples and patterns. It provides a collection of scripts and snippets designed to demonstrate a wide range of programming tasks, from basic syntax to advanced implementation patterns. The repository focuses on several core domains, including the implementation of concurrency and multithreading examples, data analysis snippets for cleaning and manipulating tabular data, and various data visualization examples. It also covers automation scripts for file system management and a variety of general programming patterns. Additional
tx-lcn is a distributed transaction framework and Java transaction middleware designed to manage atomic operations and data consistency across multiple microservices and relational databases. It functions as a distributed transaction coordinator that synchronizes commit and rollback operations to ensure global data integrity. The system provides a microservice consistency manager that tracks and resolves transaction flows across service boundaries. It features an integration layer compatible with middleware such as Spring Cloud, Dubbo, and Motan, allowing it to operate across different servic
etcd is a distributed key-value store and configuration store designed to maintain a consistent set of data across a cluster of nodes. It functions as a reliable registry for storing and synchronizing critical settings and metadata used by distributed applications. The system implements the Raft consensus algorithm to ensure data consistency and leader election across servers. To protect data transfers and verify node identities, it utilizes a network security layer based on mutual TLS and client certificates. Its capabilities cover distributed configuration management, cluster state synchro
RocketMQ is a cloud-native distributed messaging platform and streaming engine. It functions as a distributed transactional queue that ensures atomicity between local transactions and message delivery, and serves as an MQTT IoT message broker to bridge lightweight device traffic into high-performance data streams. The system is distinguished by a Kubernetes-native architecture that decouples compute from storage to allow independent scaling of traffic and data retention. It utilizes a tiered storage model to offload older data to remote storage and employs quorum-based replication and automat
kcat is a command-line interface client for Apache Kafka used to produce, consume, and debug messages using the native wire protocol. It provides a suite of tools for interacting with Kafka clusters, including a protocol debugger for inspecting cluster metadata and a transaction manager for handling atomic message batches. The project features a specialized Avro schema decoder that converts binary-encoded messages into human-readable JSON by integrating with remote schema registries or local files. Additionally, it includes an in-memory simulator that allows for testing producer and consumer
This project is a Go language learning guide and implementation map designed to help developers transition from Node.js to Go. It provides a series of side-by-side code comparisons that contrast identical logic implemented in both languages to illustrate syntax and runtime differences. The repository serves as a tutorial for Go concurrency, specifically comparing the use of channels and goroutines against JavaScript promises. It also includes a performance benchmarking suite to measure and compare the execution speed of Go against Node.js for the same operations. The guide covers systems pro