13 مستودعات
Tools and libraries designed to facilitate the construction and management of lightweight, resilient, and production-ready distributed microservices.
Explore 13 awesome GitHub repositories matching software engineering & architecture · Microservice Frameworks. Refine with filters or upvote what's useful.
This project is an enterprise-grade Java framework designed for building scalable, full-stack e-commerce applications. It provides a comprehensive foundation for microservice-based distributed architectures, enabling the development of complex retail platforms that include product management, order processing, and secure user authentication. By leveraging modular service patterns and centralized API gateways, the framework supports the construction of resilient systems that decompose monolithic business logic into independent, manageable services. The platform distinguishes itself through a r
Facilitates the construction of resilient distributed systems through built-in service discovery, API gateways, and centralized configuration management.
Kit is a microservices architectural framework and toolkit for Go. It provides a set of standardized primitives and abstractions for implementing service, endpoint, and transport layers in a decoupled manner. The framework focuses on system instrumentation through integrated distributed request tracing and a service instrumentation toolkit that utilizes counters and gauges to export performance data to external monitoring backends. It includes a structured logging library that records system events as key-value pairs to ensure compatibility with log aggregation tools. The project covers a br
Offers a comprehensive framework for implementing decoupled service, endpoint, and transport layers.
Seata is a distributed transaction coordinator designed to ensure data consistency and atomicity across microservices. It provides a centralized framework for managing global transactions, preventing partial data updates across different databases and services. The project implements multiple transaction modes to balance consistency and performance. This includes an automatic mode that uses rollback logs to coordinate compensation without modifying business logic, a try-confirm-cancel pattern for resources lacking native ACID support, and a saga orchestration engine for managing long-lived bu
Maintains synchronized state across different databases and services using automated compensation and rollback logs.
Seata is a distributed transaction coordinator and consistency framework designed to maintain data integrity across multiple microservices. It functions as a manager that synchronizes state across separate databases to ensure atomic commits or rollbacks of global transactions. The project provides a toolkit for implementing distributed transaction patterns, using a two-phase commit protocol and centralized status tracking to prevent data anomalies. It orchestrates eventual consistency through state-machine-based tracking and message-driven coordination to handle timeouts and failures in distr
Provides a comprehensive framework for maintaining data consistency across microservices using distributed transaction patterns.
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
Provides a modular toolkit for building and managing distributed microservices with pluggable transport.
Gofr is a comprehensive framework for building production-ready microservices in Go. It provides a unified toolkit for developing RESTful APIs and gRPC services, offering built-in support for observability, database management, and distributed system communication. The framework distinguishes itself through its focus on developer productivity and system resilience. It automates common backend tasks such as CRUD handler generation, schema-driven code creation, and database migration orchestration, while preventing race conditions in clustered environments. To maintain stability, it includes in
A comprehensive toolkit for building production-ready microservices in Go with built-in support for REST, gRPC, observability, and database management.
Workflow is an asynchronous C++ task engine designed for building distributed systems and high-performance network services. It provides a framework for orchestrating complex sequences of network, file, and computational operations, allowing developers to compose these tasks into parallel workflows. The library functions as a toolkit for implementing scalable servers and clients for protocols such as HTTP, Redis, MySQL, and Kafka. It distinguishes itself through a task-based concurrency model that manages non-blocking operations and coordinates service discovery, load balancing, and traffic r
Facilitates the creation of scalable network services and manages complex communication patterns between microservices using task-based concurrency.
dtm هو إطار عمل للمعاملات الموزعة ومنسق لتدفق العمل مصمم لإدارة اتساق البيانات عبر الخدمات المصغرة. يعمل كمنسق مركزي يقوم بمزامنة المعاملات الموزعة ويدير الحالة وتدفق التنفيذ لتسلسلات معقدة من المهام الموزعة. ينفذ إطار العمل العديد من أنماط التنسيق، بما في ذلك Saga وTCC وXA، لمنع أخطاء المزامنة. ويوفر بشكل خاص منسق معاملات متعدد اللغات لمزامنة العمليات عبر الخدمات المكتوبة بلغات برمجة مختلفة ويستخدم صندوق بريد صادر (outbox) موثوق للرسائل لربط تحديثات قاعدة البيانات بإرسال الرسائل. تغطي قدراته استعادة الأنظمة الموزعة من خلال عمليات التراجع (rollbacks) للمعاملات التعويضية، وتنسيق الالتزام ثنائي المرحلة، وتسليم الرسائل لمرة واحدة بالضبط. وتدعم البنية التحتية التوسع الأفقي في السعة وتكوينات التوافر العالي للحفاظ على الاستقرار مع زيادة أحجام الطلبات.
Provides a comprehensive framework for maintaining data integrity and synchronization across distributed services.
Twirp هو إطار عمل RPC لـ Protocol Buffers مصمم لتنفيذ اتصالات الخدمات المصغرة الموزعة والآمنة من حيث النوع عبر HTTP. يعمل كإطار عمل لاتصالات الخدمات المصغرة ومولد كود API ينتج كعوب عميل (Client stubs) وواجهات خادم مكتوبة بقوة من تعريفات المخطط للقضاء على الكود المتكرر للشبكة يدوياً. يضمن إطار العمل التوافق مع بنية الويب التحتية الحالية من خلال تنفيذ استدعاءات الإجراءات البعيدة عبر نقل HTTP القياسي. يستخدم العقود القائمة على المخطط كمصدر وحيد للحقيقة لتمكين التشغيل البيني عبر اللغات وفصل منطق العمل عن نقل الشبكة. يغطي النظام العديد من مجالات القدرات الأساسية، بما في ذلك التوجيه القائم على الواجهة، وتسلسل البيانات متعدد التنسيقات الذي يدعم كلاً من JSON والثنائي، والبرمجيات الوسيطة لدورة حياة الطلب للمخاوف المتقاطعة. كما يوفر نظام تعيين أخطاء قياسياً لترجمة فشل الخدمة إلى رموز قابلة للقراءة آلياً ويتضمن أدوات للتحقق من توافق العميل.
Provides a framework for building lightweight, production-ready distributed microservices using structured data exchange.
هذا المشروع عبارة عن إطار عمل للخدمات المصغرة لبناء أنظمة خلفية قابلة للتوسع في Go. يوفر بنية للأنظمة الموزعة مع دعم متكامل لاكتشاف الخدمات، وموازنة التحميل، وآليات تحمل الأخطاء. يتميز إطار العمل ببنية طبقات تعتمد على المجال ونظام تهيئة عن بُعد يقوم بمزامنة الإعدادات بين المخازن البعيدة والملفات المحلية مع تجاوز الفشل التلقائي. ينفذ نموذج اتصال عالي الأداء باستخدام gRPC لتبادل البيانات الفردي والمتدفق، بالإضافة إلى أنظمة إشعارات في الوقت الفعلي لإدارة اتصالات العملاء المستمرة. يغطي النظام مجموعة واسعة من القدرات الموزعة، بما في ذلك إدارة حركة المرور عبر كسر الدوائر (circuit breaking) وتحديد المعدل، وقابلية المراقبة من خلال التتبع الموزع، والتسجيل المركزي، ومراقبة الصحة. كما يدمج أدوات بنية البيانات مثل مرشحات bloom الاحتمالية، والقفل الموزع، ومصادقة الخدمة القائمة على الرموز. يتضمن المشروع دعم النشر لبيئات Elasticsearch و HBase المعبأة في حاويات.
Provides a comprehensive framework for building resilient, production-ready distributed microservices in Go.
Hmily هو إطار عمل للمعاملات الموزعة ومدير اتساق البيانات مصمم للحفاظ على الحالة عبر خدمات متعددة. يعمل كمنسق يتتبع حالات المعاملات عبر استدعاءات الإجراءات عن بُعد لإدارة العمليات المتداخلة وضمان الإكمال الذري. ينفذ المشروع نمط SAGA لتنسيق العمليات التجارية طويلة الأمد من خلال سلسلة من المعاملات المحلية وإجراءات التعويض المؤتمتة. يتميز بأتمتة توليد وتنفيذ سكربتات التراجع لقواعد البيانات العلائقية للتعافي من استثناءات الأعمال واستعادة اتساق البيانات. يغطي إطار العمل إدارة المعاملات الموزعة باستخدام أنماط try-confirm-cancel ويوفر طبقة استمرارية لتسجيل تواريخ العمليات عبر قواعد البيانات العلائقية وقواعد بيانات المستندات. كما يتضمن واجهة إدارة لمراقبة دورة حياة المعاملة لتدقيق انتقالات الحالة ومراقبة صحة النظام.
Provides a toolkit specifically designed to maintain data integrity and synchronization across distributed microservices.
tx-lcn هو إطار عمل للمعاملات الموزعة وبرمجيات وسيطة للمعاملات في Java مصمم لإدارة العمليات الذرية واتساق البيانات عبر خدمات مصغرة متعددة وقواعد بيانات علائقية. يعمل كمنسق للمعاملات الموزعة يقوم بمزامنة عمليات الالتزام (commit) والتراجع (rollback) لضمان سلامة البيانات العالمية. يوفر النظام مديراً لاتساق الخدمات المصغرة يتتبع ويحل تدفقات المعاملات عبر حدود الخدمة. يتميز بطبقة تكامل متوافقة مع برمجيات وسيطة مثل Spring Cloud وDubbo وMotan، مما يسمح له بالعمل عبر أطر عمل خدمات مختلفة. يغطي المشروع إدارة المعاملات الموزعة والتتبع، مما يتيح مراقبة مسارات العمليات لتحديد إخفاقات الاتساق. يستخدم واجهات مفصولة لتعريف منطق الالتزام والتراجع المخصص للعمليات التجارية.
Provides a toolkit to maintain data integrity and synchronization across distributed microservice boundaries.
يعمل هذا المشروع كمورد تعليمي شامل لتنفيذ المونوليثات المعيارية والخدمات المصغرة داخل بيئات .NET. يركز على تطبيق مبادئ التصميم الموجه بالمجال (domain-driven design) لإدارة منطق العمل المعقد، مما يوفر نهجاً منظماً لبناء أنظمة يمكن أن تتطور جنباً إلى جنب مع المتطلبات المتغيرة. يتم تعريف البنية بتركيزها على النمطية والحدود الواضحة، باستخدام شرائح رأسية وسياقات محدودة لتنظيم الكود حسب عملية العمل بدلاً من الطبقة التقنية. يتميز بإطار عمل ترحيل منهجي يسمح للمطورين بالانتقال من قاعدة كود متجانسة إلى خدمات مستقلة وموزعة. يتم تحقيق ذلك عن طريق استبدال الاتصال الداخلي بمراسلة قوية قائمة على الأحداث وضمان بقاء منطق المجال منفصلاً عن مخاوف الاستمرار والبنية التحتية. يغطي المشروع نطاقاً واسعاً من القدرات، بما في ذلك نمذجة المجال التكتيكية مع التجميعات والكيانات، واستراتيجيات الاختبار المؤتمتة باستخدام البنية التحتية المعبأة (containerized)، والحفاظ على سجلات القرارات المعمارية لتتبع تطور التصميم. كما يوفر أدوات لتنسيق التطوير المحلي والتحليل الثابت لفرض معايير الجودة عبر الوحدات المستقلة. يتم تنظيم المستودع كدليل عملي، يقدم منهجية خطوة بخطوة لتوسيع بنية البرمجيات بشكل تزايدي.
Provides a step-by-step methodology for transitioning monolithic applications into distributed services using message-based communication.