14 Repos
Educational content on decomposing applications and managing microservice communication.
Distinguishing note: Focuses on the architectural patterns for microservices rather than specific microservice frameworks.
Explore 14 awesome GitHub repositories matching software engineering & architecture · Microservices Design Patterns. Refine with filters or upvote what's useful.
Dieses Projekt ist eine umfassende Bildungsressource und ein Studienleitfaden, der sich auf die Architektur verteilter Systeme und das Design von Backend-Infrastrukturen konzentriert. Es bietet einen strukturierten Lehrplan zur Beherrschung der Prinzipien von Skalierbarkeit, Zuverlässigkeit und Leistung, die für den Entwurf komplexer Softwaresysteme erforderlich sind. Das Repository zeichnet sich durch einen methodischen Ansatz zur Vorbereitung auf technische Vorstellungsgespräche aus, der Entwurfsmuster, architektonische Kompromisse und Tools für räumliche Wiederholungen integriert, um Nutzern das Behalten komplexer Konzepte zu erleichtern. Es betont die einschränkungsgesteuerte Analyse und lehrt Nutzer, wie sie konkurrierende Anforderungen wie Latenz, Konsistenz und Verfügbarkeit beim Entwurf von Architekturen bewerten können. Der Inhalt deckt ein breites Spektrum an Systemdesign-Fähigkeiten ab, einschließlich Strategien für die Datenbankskalierung, Verkehrsmanagement und Infrastrukturoptimierung. Es werden Techniken für horizontale Skalierung, mehrschichtiges Caching, asynchrone Kommunikation und Service-Discovery detailliert beschrieben, während gleichzeitig Frameworks für die Durchführung von Ressourcenschätzungen und Kapazitätsplanungen bereitgestellt werden. Die Dokumentation ist als Studienleitfaden organisiert und bietet einen systematischen Pfad durch die Grundlagen des Backend-Engineerings und des großskaligen Systemdesigns.
Provides educational content on decomposing applications and managing microservice communication.
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-
Explains how to decompose monolithic applications and manage microservice communication and consistency.
This project provides a framework for managing multi-agent systems, designed to automate complex software development, infrastructure, and business workflows. It functions as a multi-agent workflow orchestrator that routes tasks to domain-specific workers while maintaining state persistence and infrastructure automation. By leveraging large language models, the system decomposes high-level objectives into actionable plans, ensuring that complex operations are executed with consistency and reliability. The framework distinguishes itself through its hierarchical agent registry and policy-driven
Designs resilient distributed systems by managing microservice decomposition and inter-service orchestration.
This project is a collection of software engineering principles and architectural design patterns designed to minimize the mental effort required to understand and maintain source code. It serves as a guide for implementing clean code methodologies and architectural simplification to reduce the overall cognitive load on developers. The framework emphasizes aligning module boundaries and ubiquitous language with business stakeholders to prevent architectural ripple effects. It advocates for balancing service granularity to avoid the overhead of distributed monoliths and suggests favoring objec
Outlines design patterns for balancing microservice granularity to prevent distributed monolith overhead.
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
Covers practical patterns for service discovery, load balancing, fault isolation, and distributed transactions in microservices.
Hyperf is a high-performance PHP coroutine framework designed for building microservices and middleware. It utilizes non-blocking coroutines to handle high concurrency and low-latency request processing, providing a foundation for scalable distributed systems. The framework is distinguished by an aspect-oriented programming based dependency injector that enables pluggable components and meta-programming. It includes a coroutine-optimized object-relational mapper with integrated model caching and an orchestration toolkit for microservice governance, featuring service discovery, circuit breaker
Provides a comprehensive toolkit for microservice governance including circuit breakers, service discovery, and distributed tracing.
This project is a comprehensive learning path for C# backend development, designed to guide developers through the skills and technologies required to build professional server-side applications. It serves as a technical curriculum focused on the .NET ecosystem. The roadmap specifically emphasizes cloud-native development and microservices architecture. It provides a structured guide to the tools and patterns necessary for designing distributed systems and deploying scalable services to the cloud. The content covers broader domain areas including backend career planning and the engineering p
Provides detailed educational content on decomposing monolithic applications into microservices and managing their communication.
Dieses Projekt ist eine Referenzimplementierung und ein architektonischer Bauplan für den Aufbau verteilter Systeme unter Verwendung des go-zero-Frameworks. Es bietet ein vollständiges Microservices-Boilerplate und ein standardisiertes Projektlayout, um API- und RPC-Services mit konsistenten Ordnerstrukturen zu bootstrappen. Die Implementierung zeichnet sich durch einen umfassenden Leitfaden und eine Codebasis für Service-Discovery, Rate-Limiting und Circuit-Breaking aus. Sie demonstriert eine Observability-Stack-Integration, die verteiltes Tracing, Metrikerfassung und zentralisiertes Logging über mehrere Microservices hinweg koordiniert. Das System deckt ein breites Spektrum verteilter Funktionen ab, einschließlich asynchronem Messaging via Publish-Subscribe-Modell, verteiltem Transaktionsmanagement für Datenkonsistenz und einem Gateway-Aggregation-Pattern zur Trennung externer Requests von interner Kommunikation. Es enthält zudem automatisierte Codegenerierung aus Definitionen und Continuous-Delivery-Pipelines für Container-Deployments.
Provides a stability suite incorporating circuit breakers and rate limiting to protect services from cascading failures.
Armeria ist ein Netty-basiertes Microservice-Framework, das für den Bau hochperformanter asynchroner Dienste verwendet wird. Es fungiert als Multi-Protokoll-RPC-Server, der in der Lage ist, gRPC-, Thrift- und REST-Dienste über einen einzigen, vereinheitlichten Port bereitzustellen. Das Projekt zeichnet sich durch die Fähigkeit aus, diverse Kommunikationsprotokolle gleichzeitig auszuführen, sowie durch eine integrierte RPC-Debugging-Webkonsole, die die Entdeckung und den Aufruf von Remote Procedure Calls via JSON ermöglicht. Es enthält zudem einen gRPC-zu-JSON-Transcoder, um die Kompatibilität von Web-Clients mit Protobuf-Diensten zu ermöglichen. Das Framework bietet eine umfassende Suite an Microservice-Funktionen, darunter reaktive RPC-Clients mit Circuit-Breakern und Retries, clientseitiges Load-Balancing sowie Service-Discovery-Integration mit DNS, ZooKeeper und Consul. Es deckt zudem die Beobachtbarkeit verteilter Systeme durch Metriken-Sammlung, verteiltes Tracing und interaktive Servicedokumentation ab. Armeria unterstützt das Einbetten von Legacy-Servlet-Containern und integriert sich in Web-Frameworks von Drittanbietern, um die Koexistenz innerhalb eines einzigen Serverprozesses zu ermöglichen.
Combines circuit breakers, client-side load balancing, and health checks to ensure microservice system stability.
Dieses Projekt ist eine Sammlung von Referenzimplementierungen und Demonstrationsprojekten für Computer Vision, DevOps-Automatisierung, verteilte Systeme und Java-basierte Microservices. Es bietet eine Programmbibliothek als Referenz sowie praktische Beispiele für die Entwicklung von Server-Side-Anwendungen, die Containerisierung von Diensten und die Orchestrierung von Clustern. Das Repository enthält ein umfassendes Toolset für die DevOps-Automatisierung, einschließlich Skripten und Playbooks für CI/CD-Pipelines und die automatisierte Cluster-Installation. Es umfasst ein Computer-Vision-Demoprojekt für die Objekterkennung und Gesichtsanalyse sowie detaillierte Anleitungen und Konfigurationsdateien für Docker-Containerisierung und Kubernetes-Deployment. Das Projekt deckt ein breites Spektrum an Fähigkeiten für verteilte Systeme ab, darunter gRPC- und RESTful-API-Implementierung, Message Queuing und Data Streaming. Zudem adressiert es die Observability der Infrastruktur durch Distributed Tracing und System-Performance-Monitoring sowie Big-Data-Verarbeitung und Optimierung der Datenspeicherung. Die Codebasis enthält Implementierungsbeispiele für Java und Go und stellt Quellcode für die native Binärkompilierung sowie Multi-Stage-Container-Builds bereit.
Implements resiliency patterns such as circuit breakers and API gateways to ensure distributed system reliability.
InternetArchitect ist eine pädagogische Sammlung von Dokumenten und Quellcode, die als Kurs für Hochverfügbarkeitsarchitektur konzipiert ist. Sie dient als Implementierungsleitfaden für verteilte Systeme und bietet technische Patterns und praktische Beispiele für das Design skalierbarer Internetarchitekturen, die unter hoher Verkehrslast stabil bleiben. Das Projekt konzentriert sich auf hochperformante Datenbankoptimierung und Microservices-Design-Patterns. Es deckt Strategien zur Latenzreduzierung und Durchsatzsteigerung durch Datenbank-Sharding und Proxy-Layer ab sowie die Koordination des globalen Zustands über verteilte Cluster hinweg. Der architektonische Umfang umfasst mehrstufige Caching-Strategien zur Beschleunigung des Datenabrufs und die Implementierung von Service-Discovery-Frameworks zur Verwaltung der Kommunikation zwischen entkoppelten Microservices. Es adressiert zudem die Koordination verteilter Zustände und die Nutzung von Load-Balancing-Meshes zur Verteilung des Netzwerkverkehrs auf Backend-Server.
Provides architectural strategies for decomposing applications and coordinating global state across distributed microservice clusters.
This project is an educational curriculum and architectural framework for building autonomous AI agents and multi-agent systems. It provides a structured learning path focused on the development of independent software components capable of planning, executing tasks, and utilizing external tools to achieve high-level goals. The framework emphasizes multi-agent system orchestration through distributed architectures where specialized agents collaborate using standardized communication protocols. It details specific design patterns such as dual-memory systems for maintaining short-term plans and
Implements architectural patterns for decomposing agent systems into microservices with service discovery and messaging.
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
Implements resiliency and observability patterns, including distributed tracing and circuit breakers, to ensure reliability.
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
Details patterns for managing communication between independent microservice components.