14 مستودعات
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.
هذا المشروع عبارة عن مورد تعليمي شامل ودليل دراسي يركز على بنية الأنظمة الموزعة وتصميم البنية التحتية للـ backend. يوفر منهجاً منظماً لإتقان مبادئ القابلية للتوسع، والموثوقية، والأداء المطلوبة لتصميم أنظمة برمجية معقدة. يتميز المستودع بتقديم نهج منهجي للتحضير للمقابلات التقنية، حيث يدمج أنماط التصميم، والمقايضات المعمارية، وأدوات التكرار المتباعد لمساعدة المستخدمين على الاحتفاظ بالمفاهيم المعقدة. ويؤكد على التحليل القائم على القيود، حيث يعلم المستخدمين كيفية تقييم المتطلبات المتنافسة مثل زمن الوصول (latency)، والاتساق، والتوافر عند صياغة التصاميم المعمارية. يغطي المحتوى طيفاً واسعاً من قدرات تصميم النظام، بما في ذلك استراتيجيات توسيع قواعد البيانات، وإدارة حركة المرور، وتحسين البنية التحتية. ويفصل تقنيات التوسع الأفقي، والتخزين المؤقت متعدد الطبقات، والتواصل غير المتزامن، واكتشاف الخدمات، مع توفير أطر عمل لإجراء تقديرات الموارد وتخطيط السعة. يتم تنظيم التوثيق كدليل دراسي، مما يوفر مساراً منهجياً عبر أساسيات هندسة الـ backend وتصميم الأنظمة واسعة النطاق.
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.
هذا المشروع عبارة عن تنفيذ مرجعي ومخطط معماري لبناء أنظمة موزعة باستخدام إطار عمل go-zero. يوفر نموذجاً أولياً كاملاً للخدمات المصغرة (microservices) وتخطيطاً موحداً للمشروع لبدء خدمات API و RPC بهياكل مجلدات متسقة. يتميز التنفيذ بتوفير دليل شامل وقاعدة تعليمات برمجية لاكتشاف الخدمات، وتحديد معدل الطلبات، وقواطع الدائرة (circuit breaking). يوضح دمج حزمة المراقبة التي تنسق التتبع الموزع، وجمع المقاييس، والتسجيل المركزي عبر خدمات مصغرة متعددة. يغطي النظام مجموعة واسعة من الإمكانيات الموزعة، بما في ذلك المراسلة غير المتزامنة عبر نموذج النشر والاشتراك، وإدارة المعاملات الموزعة لضمان اتساق البيانات، ونمط تجميع البوابة لفصل الطلبات الخارجية عن الاتصالات الداخلية. كما يتضمن إنشاء تلقائي للكود من التعريفات وخطوط أنابيب التسليم المستمر لنشر الحاويات.
Provides a stability suite incorporating circuit breakers and rate limiting to protect services from cascading failures.
Armeria هو إطار عمل للخدمات المصغرة يعتمد على Netty ويستخدم لبناء خدمات غير متزامنة عالية الأداء. يعمل كخادم RPC متعدد البروتوكولات قادر على عرض خدمات gRPC وThrift وREST على منفذ واحد موحد. يتميز المشروع بقدرته على تشغيل بروتوكولات اتصال متنوعة في وقت واحد ووحدة تحكم ويب مدمجة لتصحيح أخطاء RPC، والتي تسمح باكتشاف واستدعاء إجراءات عن بعد عبر JSON. كما يتضمن محول gRPC إلى JSON لتمكين توافق عميل الويب مع خدمات Protobuf. يوفر إطار العمل مجموعة شاملة من إمكانيات الخدمات المصغرة، بما في ذلك عملاء RPC تفاعليين مع قواطع الدائرة (circuit breakers) وإعادة المحاولة، وموازنة التحميل من جانب العميل، وتكامل اكتشاف الخدمة مع DNS وZooKeeper وConsul. كما يغطي قابلية مراقبة النظام الموزع من خلال جمع المقاييس، والتتبع الموزع، ووثائق الخدمة التفاعلية. يدعم Armeria تضمين حاويات servlet القديمة ويتكامل مع إطارات عمل ويب تابعة لجهات خارجية للسماح بالتعايش داخل عملية خادم واحدة.
Combines circuit breakers, client-side load balancing, and health checks to ensure microservice system stability.
هذا المشروع عبارة عن مجموعة من نماذج التنفيذ والمشاريع التجريبية التي تغطي الرؤية الحاسوبية، وأتمتة DevOps، والأنظمة الموزعة، والخدمات المصغرة (Microservices) المعتمدة على Java. يوفر المشروع مكتبة مرجعية برمجية وأمثلة عملية لبناء تطبيقات جانب الخادم (Server-side)، وحاويات الخدمات، وإدارة المجموعات (Clusters). يحتوي المستودع على مجموعة أدوات شاملة لأتمتة DevOps، بما في ذلك سكربتات وكتيبات تشغيل (Playbooks) لخطوط أنابيب CI/CD وتثبيت المجموعات المؤتمت. كما يتضمن مشروعاً تجريبياً للرؤية الحاسوبية لاكتشاف الكائنات في الصور وتحليل الوجوه، بالإضافة إلى أدلة مفصلة وملفات إعدادات لعمليات الحاويات باستخدام Docker والنشر عبر Kubernetes. يغطي المشروع نطاقاً واسعاً من قدرات الأنظمة الموزعة، بما في ذلك تنفيذ gRPC وRESTful API، وطوابير الرسائل، وبث البيانات. كما يتناول مراقبة البنية التحتية من خلال التتبع الموزع (Distributed Tracing) ومراقبة أداء النظام، إلى جانب معالجة البيانات الضخمة وتحسين تخزين البيانات. تتضمن قاعدة الكود أمثلة تنفيذية للغتي Java وGo، مع توفير الكود المصدري للتجميع الثنائي الأصلي (Native binary) وبناء الحاويات متعدد المراحل.
Implements resiliency patterns such as circuit breakers and API gateways to ensure distributed system reliability.
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
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.
يُعد هذا المستودع مرجعاً تقنياً لتصميم برمجيات قابلة للتوسع، ومرنة، وعالية الأداء في بيئات الخدمات الموزعة. يوفر المستودع مجموعة من الأنماط المعمارية والاستراتيجيات الهيكلية التي تهدف إلى توجيه عملية تطوير الأنظمة المعقدة والمفككة (decoupled) التي تحافظ على توافرية عالية وسلامة البيانات تحت أحمال العمل الثقيلة. يركز المورد على المبادئ الأساسية لمعمارية الخدمات المصغرة (microservices)، ويقدم توجيهات حول إدارة الاتصال بين مكونات البرمجيات المستقلة عبر المراسلة المتزامنة وغير المتزامنة. كما يفصل الاستراتيجيات اللازمة للحفاظ على الاتساق الموزع وتنفيذ بروتوكولات التنسيق لضمان بقاء البيانات متزامنة عبر عقد شبكية متعددة. تغطي الوثائق نطاقاً واسعاً من قدرات تصميم الأنظمة، بما في ذلك تقنيات تحسين أداء قواعد البيانات مثل الفهرسة، والتقسيم، والتخزين المؤقت. كما توضح ممارسات التصميم المقاوم للأخطاء، بما في ذلك موازنة الأحمال واستراتيجيات الاسترداد التلقائي، لضمان موثوقية النظام عند تعطل المكونات الفردية.
Details patterns for managing communication between independent microservice components.