17 مستودعات
Architectural patterns and frameworks specifically designed for building scalable distributed systems using the Go language.
Distinct from Go API Architecture Design: Focuses on the holistic architecture of Go-based microservices rather than a single library or diagnostic tool.
Explore 17 awesome GitHub repositories matching software engineering & architecture · Go Microservices Architectures. Refine with filters or upvote what's useful.
This project is a boilerplate and template for Go applications implementing Clean Architecture. It provides a standardized project structure designed to organize code into decoupled layers, ensuring that core business logic remains independent of databases, frameworks, and user interfaces. The implementation focuses on a domain-driven design that utilizes dependency injection and the repository pattern to abstract data storage. It enforces architectural boundaries through internal package encapsulation and layer-based dependency inversion. The project includes a development toolchain that au
Provides a standardized implementation of clean architecture for decoupling business logic in Go applications.
rpcx is a high-performance remote procedure call framework for building scalable microservices in Go. It functions as a binary protocol RPC system and a service mesh, providing the necessary infrastructure for low-latency inter-service communication and distributed cloud environments. The project features a cross-language service gateway that provides an HTTP entry point, allowing clients written in any programming language to invoke Go remote services via protocol translation. It also includes a specialized RPC traffic analyzer for capturing and analyzing binary packets to debug network comm
Offers a complete architectural foundation for building scalable Go microservices with discovery, balancing, and fault tolerance.
Kitex is a high-performance remote procedure call framework for building distributed microservices in Go. It provides a communication system compatible with gRPC and Protobuf standards and includes a suite of tools for microservices governance. The framework features proxyless service mesh integration, which allows it to manage network traffic and governance directly without adding sidecar proxy latency. It optimizes data throughput through a high-performance communication library that minimizes memory copies. The system covers a broad surface of distributed capabilities, including service d
High-performance remote procedure call framework for building distributed microservices using the Go programming language.
Clean Architecture template for Golang services
Builds maintainable Go services with clean architecture, separating business logic from infrastructure through dependency injection and interface-based design.
This is a demonstration and template project that applies Clean Architecture principles to SwiftUI application development. It implements a layered architecture that separates presentation, business logic, and data access into independent layers, with unidirectional data flow managed through a single immutable app store that serves as the sole source of truth for all screens. The project distinguishes itself through its implementation of interactor-driven business logic, where all domain rules and workflows live in stateless objects that receive requests and update the central store. Dependen
Serves as a reusable template for building SwiftUI apps with Clean Architecture, the primary purpose of the repository.
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
Implements a concrete Go-based distributed system using Clean Architecture to isolate business logic from infrastructure.
This is a Go backend template that structures a web service into domain, usecase, controller, and repository layers with strict dependency inversion. It provides a foundation for building maintainable and testable REST APIs by separating business logic from transport and data access concerns. The project implements JWT-based authentication, issuing access and refresh tokens for user signup, login, and protected endpoint access. It uses the Gin HTTP framework to build a Docker-packaged REST API with public and private route groups, request validation, and middleware-based authentication. Depen
Provides a foundational Go backend template with strict clean architecture layering for maintainable and testable REST APIs.
Golang-100-Days is a structured, daily lesson curriculum for learning the Go programming language from the ground up, progressing into practical microservice and web application development. The project is built around a code-example-driven approach, where each day introduces new concepts through runnable Go snippets and complete project examples rather than abstract theory, covering Go fundamentals such as syntax, data types, control flow, functions, and packages. The curriculum differentiates itself by grouping lessons around specific Go frameworks and distributed system patterns. It includ
Creating, configuring, and connecting microservices using the Go-Micro framework with event-driven communication.
Podinfo is a Go-based microservice template designed for Kubernetes, providing a standard pattern for building and testing containerised applications. It exposes REST endpoints for health checks, version information, and configuration, and supports environment-driven configuration for containerised deployment. The project distinguishes itself with built-in capabilities for resilience testing, including fault injection middleware that can inject random errors, latency spikes, or status code mutations. It also offers JWT token-based authentication for stateless request validation, Prometheus me
Defines a minimal Go HTTP server structure with standard middleware and health endpoints for Kubernetes deployment.
InterviewGuide is a comprehensive technical interview preparation platform that covers the full spectrum of software engineering recruitment, from foundational computer science concepts through to offer negotiation. It provides structured learning paths across algorithms, operating systems, databases, networking, and programming languages, with a particular emphasis on C++ and Go. The platform aggregates real interview experiences and company-specific questions from major tech employers, offering candidates a searchable database of past written exam problems and detailed accounts of actual int
Introduces microservice architecture patterns and frameworks for designing distributed applications in Go.
هذا المشروع عبارة عن تنفيذ مرجعي ومخطط معماري لبناء أنظمة موزعة باستخدام إطار عمل go-zero. يوفر نموذجاً أولياً كاملاً للخدمات المصغرة (microservices) وتخطيطاً موحداً للمشروع لبدء خدمات API و RPC بهياكل مجلدات متسقة. يتميز التنفيذ بتوفير دليل شامل وقاعدة تعليمات برمجية لاكتشاف الخدمات، وتحديد معدل الطلبات، وقواطع الدائرة (circuit breaking). يوضح دمج حزمة المراقبة التي تنسق التتبع الموزع، وجمع المقاييس، والتسجيل المركزي عبر خدمات مصغرة متعددة. يغطي النظام مجموعة واسعة من الإمكانيات الموزعة، بما في ذلك المراسلة غير المتزامنة عبر نموذج النشر والاشتراك، وإدارة المعاملات الموزعة لضمان اتساق البيانات، ونمط تجميع البوابة لفصل الطلبات الخارجية عن الاتصالات الداخلية. كما يتضمن إنشاء تلقائي للكود من التعريفات وخطوط أنابيب التسليم المستمر لنشر الحاويات.
Provides a complete reference implementation for building scalable distributed systems using Go-Zero.
هذا المشروع عبارة عن مجموعة منسقة من موارد التعلم، وأدلة الدراسة، والببليوغرافيات المنظمة لإتقان لغة البرمجة Go. يوفر مرجعاً شاملاً لبناء جملة اللغة، وأنماط التزامن، وبنية الويب. ينظم المستودع المعرفة التقنية في تصنيف هرمي، يتراوح من الأساسيات التأسيسية إلى تفاصيل التنفيذ الداخلي المتقدمة. ويتميز بتوفير قوائم قراءة وببليوغرافيات منسقة مصممة لتوجيه المتعلمين عبر تسلسل دراسي منظم. تغطي المواد تصميم بنية الواجهة الخلفية، وبدائيات التزامن للأنظمة الموزعة، وتطوير تطبيقات الويب والخدمات المصغرة. كما تتضمن توجيهات حول إدارة هيكل البيانات، وأنماط البرمجة كائنية التوجه، وقدرات تشغيل النظام مثل إدخال وإخراج الملفات وانعكاس وقت التشغيل.
Provides architectural patterns and educational materials for building scalable Go-based microservices.
هذا المشروع عبارة عن قالب تطبيق SwiftUI ومخطط معماري لبناء تطبيقات iOS. ينفذ العمارة النظيفة (Clean Architecture) ونمط MVVM لفصل منطق الأعمال، والوصول إلى البيانات، وواجهة المستخدم في طبقات متميزة. يستخدم إطار العمل حاوية حقن التبعية (dependency injection) لإدارة أعمار الكائنات ونمط منسق التدفق (flow coordinator) للتعامل مع التنقل وانتقالات الشاشة بشكل مستقل عن طبقة العرض. تتضمن قاعدة الكود أنظمة لإدارة بيانات الشبكة، وتتميز بترحيل البيانات عن بُعد، والاسترجاع المدعوم بالتخزين المؤقت، وتعيين البيانات عبر كائنات نقل البيانات (DTOs). كما توفر آليات لاستمرارية سجل البحث المحلي وإطار عمل لاختبار الوحدة للتحقق من منطق الأعمال وخدمات الشبكة.
Provides a boilerplate template for iOS applications using SwiftUI with separate layers for business logic and data.
هذا المشروع عبارة عن إطار عمل للخدمات المصغرة لبناء أنظمة خلفية قابلة للتوسع في Go. يوفر بنية للأنظمة الموزعة مع دعم متكامل لاكتشاف الخدمات، وموازنة التحميل، وآليات تحمل الأخطاء. يتميز إطار العمل ببنية طبقات تعتمد على المجال ونظام تهيئة عن بُعد يقوم بمزامنة الإعدادات بين المخازن البعيدة والملفات المحلية مع تجاوز الفشل التلقائي. ينفذ نموذج اتصال عالي الأداء باستخدام gRPC لتبادل البيانات الفردي والمتدفق، بالإضافة إلى أنظمة إشعارات في الوقت الفعلي لإدارة اتصالات العملاء المستمرة. يغطي النظام مجموعة واسعة من القدرات الموزعة، بما في ذلك إدارة حركة المرور عبر كسر الدوائر (circuit breaking) وتحديد المعدل، وقابلية المراقبة من خلال التتبع الموزع، والتسجيل المركزي، ومراقبة الصحة. كما يدمج أدوات بنية البيانات مثل مرشحات bloom الاحتمالية، والقفل الموزع، ومصادقة الخدمة القائمة على الرموز. يتضمن المشروع دعم النشر لبيئات Elasticsearch و HBase المعبأة في حاويات.
Implements architectural patterns specifically tailored for building scalable distributed systems using the Go language.
godropbox هو إطار عمل لتطوير الواجهة الخلفية ومخطط خدمة لبناء تطبيقات خادم وخدمات مصغرة متسقة في Go. يوفر مجموعة من المكتبات والأنماط المشتركة لتوحيد عملية التطوير عبر مشاريع متعددة. يتضمن المشروع مكتبة حقن التبعية التي تفصل منطق الأعمال عن التنفيذ من خلال عقود الخدمة القائمة على الواجهة. كما يوفر مجموعة من الأدوات لتجميع ونشر تطبيقات Go كملفات ثنائية ثابتة قائمة بذاتها على Linux. يغطي إطار العمل أدوات تطبيقات المؤسسات، بما في ذلك البدائيات المشتركة للتسجيل، والتكوين، ومعالجة الأخطاء. كما يدعم بنية الخدمات المصغرة وتنسيق خدمة Linux لضمان سلوك متسق عبر الخدمات المترابطة.
Implements architectural patterns for building scalable distributed microservices using the Go language.
This is a Go library providing a framework for managing repetitive task execution and implementing exponential backoff strategies. It serves as a concurrency tool designed to prevent system overload during failures by retrying operations with increasing delays. The project implements a retry strategy framework that manages attempt limits and timeouts during unstable network or system calls. It specifically provides an implementation of the exponential backoff algorithm to handle failing operations. The library covers reliability patterns for mitigating transient failures and service outages,
Improves the reliability of inter-service communication in Go by adding smart retry logic to network requests.
يوفر هذا المشروع boilerplate منظماً لبناء تطبيقات ويب Go بناءً على مبادئ البنية النظيفة (clean architecture). يعمل كقالب لتنظيم قواعد الكود لضمان بقاء منطق الأعمال الأساسي معزولاً عن أطر العمل الخارجية، وطبقات قاعدة البيانات، وآليات التسليم. يعطي التنفيذ الأولوية للتصميم القائم على المجال (domain-driven design) من خلال تركيز التطبيق حول كيانات أعمال نقية لا تحتوي على مراجع لمخاوف البنية التحتية. يستخدم انعكاس التبعية الطبقي وتكييف المنفذ القائم على الواجهة لفصل المنطق الداخلي عن التبعيات الخارجية، مما يسمح بالتطور المستقل لمكونات النظام. يتضمن إطار العمل دعماً متكاملاً لإدارة سلوك التطبيق من خلال تكوين متغيرات البيئة الخارجية ويتعامل مع تطور قاعدة البيانات عبر نصوص ترحيل المخطط ذات الإصدارات. كما يدمج نمط عامل غير متزامن لتنفيذ مهام الخلفية بشكل مستقل عن دورة حياة الطلب الأساسية، مما يضمن أن العمليات طويلة الأمد لا تحظر حركة مرور الشبكة الواردة.
Offers a foundational template for building Go applications that strictly decouple business logic from infrastructure layers.