30 open-source projects similar to docshome/microservices, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Microservices alternative.
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
This project is a Java microservices reference implementation that demonstrates the application of structural design patterns for distributed systems. It consists of a suite of containerized services and infrastructure dependencies designed to showcase how to coordinate multiple independent services into a functional system. The implementation focuses on several advanced architectural patterns, including a centralized API gateway for routing and aggregating responses, Command Query Responsibility Segregation to separate read and write operations, and event sourcing to persist the state of bus
This project is a technical interview course and study guide focused on senior-level Java engineering. It provides a curriculum centered on system design, high-concurrency engineering, and the construction of distributed systems. The resources include a distributed database strategy guide and a microservices architecture reference. These materials cover specific design patterns for message queues, distributed systems, and the implementation of reliable asynchronous communication. The content covers broad capability areas including search engine architecture, distributed cache optimization, a
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 framework for implementing event sourcing and command query responsibility segregation within containerized microservices. It provides a structured approach to managing business state as a sequence of immutable events, ensuring a reliable audit trail and the ability to reconstruct system state at any point in time. The framework distinguishes itself by enforcing a clear separation between data modification and data retrieval paths. By utilizing event-driven data synchronization, it allows for the asynchronous updating of materialized views and read models, ensuring that quer
Nameko is a Python microservices framework designed for building distributed systems. It functions as an RPC communication framework and an event-driven architecture tool, using a message broker to decouple isolated service components. The framework provides a multi-protocol gateway that exposes internal microservice logic to external clients via HTTP endpoints and websockets. It enables the exchange of request-response messages and the broadcasting of asynchronous events to maintain data consistency across a distributed system. The system includes a command line interface for controlling an
Go-micro is a distributed systems development toolkit designed for building, connecting, and managing modular microservices. It provides a comprehensive framework for service discovery, remote procedure call abstraction, and event-driven messaging, allowing developers to create decoupled architectures that communicate asynchronously through shared message brokers. The project distinguishes itself by integrating autonomous agent orchestration and language model tool binding directly into the service lifecycle. By exposing internal service endpoints as standardized tools, it enables AI agents t
This project is a comprehensive educational resource focused on the principles, patterns, and trade-offs required to design scalable, reliable, and high-performance distributed systems. It provides a structured curriculum that covers the fundamental architectural strategies necessary for building modern software infrastructure, ranging from high-level system decomposition to low-level networking and data management. The repository distinguishes itself by offering deep dives into complex architectural patterns, such as microservices-based decomposition, event-driven communication, and command-
Sofa-rpc is a high-performance remote procedure call framework designed for building distributed Java applications. It functions as a toolkit for managing a distributed service mesh, providing a gRPC communication layer and a system for registering and locating remote service instances. The framework features a network security layer that implements TLS encryption and authorization checks to protect data transmitted between services. It utilizes a pluggable protocol layer to support multiple communication standards, ensuring flexible point-to-point connectivity. Reliability and traffic manag
sofa-rpc is a Java-based remote procedure call framework designed for executing remote functions and exchanging data between distributed applications. It serves as a distributed service orchestrator and communication tool, providing a registry-integrated manager to locate and track active network endpoints across a cluster. The framework is built with an interface-based plugin architecture, allowing internal logic and RPC behaviors to be customized through abstraction interfaces. This extensibility enables the implementation of specialized business logic without modifying the core system. Th
This project is a collection of reference implementations and demonstration projects covering computer vision, DevOps automation, distributed systems, and Java-based microservices. It provides a programming reference library and practical examples for building server-side applications, containerizing services, and orchestrating clusters. The repository features a comprehensive toolset for DevOps automation, including scripts and playbooks for CI/CD pipelines and automated cluster installation. It includes a computer vision demo project for image object detection and facial analysis, as well a
This project is a reference implementation and architectural blueprint for building distributed systems using the go-zero framework. It provides a complete microservices boilerplate and a standardized project layout to bootstrap API and RPC services with consistent folder structures. The implementation distinguishes itself by providing a comprehensive guide and codebase for service discovery, rate limiting, and circuit breaking. It demonstrates an observability stack integration that coordinates distributed tracing, metrics collection, and centralized logging across multiple microservices. T
Spring Cloud Platform is a management system for orchestrating and monitoring microservices built on the Spring Cloud and Alibaba ecosystems. It serves as a centralized infrastructure for managing distributed service ecosystems. The platform includes a gateway controller for managing backend traffic, rate limiting, and load balancing, alongside a role-based access control system for managing user permissions in multi-tenant applications. It also provides a visualization dashboard for tracking the runtime status and performance metrics of independent service instances. The system covers distr
Seneca is a message-driven architecture framework and microservices toolkit for Node.js. It functions as a distributed task orchestrator and pattern-based message router, allowing developers to build systems of decoupled services that communicate via a message bus. The framework distinguishes itself through a modular plugin system that organizes business logic into reusable, configurable modules. It supports dynamic action extensions, enabling new handlers to wrap or override existing action patterns to inject custom logic without modifying original code. The system covers a broad range of c
Spring Cloud Alibaba is a suite of libraries designed to connect distributed Java applications to Alibaba cloud middleware and infrastructure services. It provides a comprehensive set of tools for messaging, configuration, task scheduling, transaction coordination, and service discovery. The project implements distributed infrastructure capabilities including a transaction coordinator for maintaining data consistency across multiple services and a configuration manager for storing external settings in a centralized cloud repository with automatic updates. It includes a distributed job schedul
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
This project is a reference implementation of a distributed system built using Spring Cloud Alibaba, Spring Boot, and JDK 17. It serves as a comprehensive model for implementing a microservices architecture. The system integrates a wide range of distributed patterns, including global transaction coordination for data consistency, OAuth2 and JWT for identity management, and Kubernetes-based container orchestration. It features a dedicated observability stack for distributed request tracing, log aggregation, and service health monitoring. The implementation covers several functional domains, i
This project is a Java implementation of the try-confirm-cancel pattern, providing a distributed transaction framework and management library. It functions as a coordinator that manages the lifecycle of multi-phase transactions to ensure consistency across multiple distributed services. The framework includes a distributed transaction coordinator server that offloads event and task operations from local services. It also provides a dedicated dashboard for visualizing transaction status and manually operating distributed events and tasks. The system manages consistency through a three-phase c
This is a learning collection of example projects that demonstrate core Spring Cloud patterns for building microservice architectures. The repository covers the fundamental building blocks of a microservices system, including service discovery through a central registry, centralized configuration management from Git or SVN repositories, API gateway-based request routing, circuit breaker patterns for fault tolerance, and distributed request tracing across service boundaries. The examples show how to implement service registration and dynamic discovery so that clients can locate microservices b
CAP is a .NET distributed transaction framework and event bus designed to manage asynchronous communication in microservices. It implements the outbox pattern to ensure eventual consistency and reliable message delivery by persisting messages in local database tables until transactions commit. The framework includes a distributed message monitor and web dashboard for tracking the status of sent and received messages. It provides tools for event traffic visualization, distributed request tracing, and the ability to manually trigger retries for failed delivery attempts. The system supports var
Mall-swarm is a microservices-based e-commerce system built with Spring Cloud Alibaba and Spring Boot. It functions as a scalable online retail platform designed to manage complex business logic through a distributed architecture of independent services. The system utilizes Kubernetes and Docker for service orchestration, incorporating a unified API gateway for traffic routing and service discovery. Security is handled via a unified identity and access management framework for verifying user tokens across all connected microservices. The platform includes a dedicated search engine for high-p
This project is a reference implementation of microservices architectures using the Spring Cloud ecosystem. It provides a set of example services that demonstrate the construction of distributed systems through automated service discovery, dynamic routing, and shared configuration. The implementation covers core distributed patterns, including a service discovery system for tracking network components and an API gateway for orchestrating incoming traffic. It features a centralized configuration manager to propagate application settings across multiple instances and a distributed tracing syste
Nacos is a service discovery and configuration platform designed for cloud native environments. It serves as a management plane that orchestrates service registries, handles dynamic application settings through a remote configuration store, and functions as a load balancing control plane for distributed clusters. The platform differentiates itself by providing real-time configuration updates that push changes to clients without requiring service restarts. It also implements weighted routing and DNS-based traffic routing to manage load balancing policies across a fleet of healthy service insta
go-coffeeshop is an event-driven microservices architecture designed to manage the end-to-end lifecycle of customer orders. It coordinates independent services using asynchronous messaging patterns to handle business workflows, background processing, and order fulfillment tracking. The project utilizes a HashiCorp stack for infrastructure, employing Nomad, Consul, and Vault for service orchestration and secret storage. Infrastructure is managed through declarative automation using Terraform to ensure consistent and repeatable deployment of compute resources and networking. The system include
InternetArchitect is an educational collection of documents and source code designed as a high concurrency architecture course. It serves as a distributed systems implementation guide, providing technical patterns and practical examples for designing scalable internet architectures that maintain stability under heavy traffic loads. The project focuses on high-performance database optimization and microservices design patterns. It covers strategies for reducing latency and increasing throughput via database sharding and proxy layers, as well as coordinating global state across distributed clus
This project is a microservice framework for building scalable backend systems in Go. It provides an architecture for distributed systems with integrated support for service discovery, load balancing, and fault-tolerance mechanisms. The framework distinguishes itself through a domain-driven layered architecture and a remote-first configuration system that synchronizes settings between remote stores and local files with automatic failover. It implements a high-performance communication model using gRPC for unary and streaming data exchange, as well as real-time notification systems for managin
This project is a reference implementation of Domain-Driven Design, Clean Architecture, and Command Query Responsibility Segregation (CQRS) patterns using the Go programming language. It serves as a sample application to demonstrate how to decouple core domain rules from infrastructure and delivery mechanisms. The system is built as a gRPC microservices architecture, utilizing type-safe communication and service contracts. It implements an event-driven architecture to manage eventual consistency and asynchronous processing, specifically employing the Outbox pattern to ensure reliable messagin
This project is a microservices reference architecture and polyglot suite designed as a containerized application demo. It provides a deployable environment that functions as a container orchestration testbed to evaluate the performance and stability of various orchestration tools. The suite implements a polyglot architecture where independent services are written in different languages, each managing its own private database. It utilizes an event-driven distributed system model, employing asynchronous messaging and decoupled data stores to coordinate workflows across separate business domain
Consul Template is a configuration renderer and dynamic configuration manager that generates files by populating templates with data from Consul and Vault. It functions as a service discovery template engine and secrets management integrator, transforming cluster catalog and health data into formatted configuration files. The tool distinguishes itself by acting as a process supervisor and notifier, capable of executing shell commands or restarting applications automatically after templates are updated. It features a long-polling watcher to monitor remote key-value stores and employs a shared
Motan is a cross-language RPC framework and distributed service mesh designed for building high-performance distributed services. It functions as a networking layer that manages service discovery, request routing, and traffic distribution across server clusters. The system operates as a cross-datacenter load balancer, distributing requests across multiple clusters and data centers using weighted scheduling. It includes a service discovery registry to automatically locate and link available service instances within a distributed network environment. The framework provides capabilities for dis