13 repository-uri
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 este un framework de tranzacții distribuite și un orchestrator de fluxuri de lucru conceput pentru a gestiona consistența datelor în microservicii. Acesta funcționează ca un coordonator centralizat care sincronizează tranzacțiile distribuite și gestionează starea și fluxul de execuție al secvențelor complexe de sarcini distribuite. Framework-ul implementează mai multe tipare de coordonare, inclusiv Saga, TCC și XA, pentru a preveni erorile de sincronizare. Acesta oferă în mod specific un coordonator de tranzacții multi-limbaj pentru a sincroniza operațiunile între servicii scrise în limbaje de programare diferite și utilizează un outbox de mesagerie fiabil pentru a cupla actualizările bazei de date cu expedierea mesajelor. Suprafața sa de capabilități acoperă recuperarea sistemelor distribuite prin rollback-uri de tranzacții compensatorii, coordonarea two-phase commit și livrarea mesajelor de tip exactly-once. Infrastructura suportă expansiunea orizontală a capacității și configurații de înaltă disponibilitate pentru a menține stabilitatea pe măsură ce volumele de cereri cresc.
Provides a comprehensive framework for maintaining data integrity and synchronization across distributed services.
Twirp este un framework RPC Protocol Buffers conceput pentru implementarea comunicării de microservicii distribuite, type-safe, prin HTTP. Acesta funcționează ca un framework de comunicare pentru microservicii și un generator de cod API care produce stub-uri de client și interfețe de server puternic tipizate din definițiile de schemă, pentru a elimina boilerplate-ul manual de rețea. Framework-ul asigură compatibilitatea cu infrastructura web existentă prin executarea apelurilor de procedură la distanță (RPC) prin transport HTTP standard. Utilizează contracte bazate pe schemă ca o singură sursă de adevăr pentru a permite interoperabilitatea între limbaje și a decupla logica de business de transportul de rețea. Sistemul acoperă mai multe domenii de capabilități de bază, inclusiv rutarea bazată pe interfață, serializarea datelor în formate multiple (suportând atât JSON, cât și binar) și middleware pentru ciclul de viață al cererilor pentru preocupări transversale. De asemenea, oferă un sistem standardizat de mapare a erorilor pentru a traduce eșecurile serviciului în coduri lizibile de către mașină și include instrumente pentru verificarea compatibilității clientului.
Provides a framework for building lightweight, production-ready distributed microservices using structured data exchange.
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
Provides a comprehensive framework for building resilient, production-ready distributed microservices in Go.
Hmily este un framework de tranzacționare distribuită și un manager de consistență a datelor conceput pentru a menține starea în mai multe servicii. Operează ca un coordonator care urmărește stările tranzacțiilor prin apeluri de procedură la distanță (RPC) pentru a gestiona operațiunile imbricate și a asigura finalizări atomice. Proiectul implementează tiparul SAGA pentru a orchestra procesele de business de lungă durată printr-o secvență de tranzacții locale și acțiuni compensatorii automate. Se distinge prin automatizarea generării și execuției scripturilor de rollback pentru bazele de date relaționale, pentru a recupera în urma excepțiilor de business și a restabili consistența datelor. Framework-ul acoperă gestionarea tranzacțiilor distribuite folosind tipare de tip try-confirm-cancel și oferă un strat de persistență pentru înregistrarea istoricelor operațiunilor în baze de date relaționale și de documente. Include, de asemenea, o interfață de gestionare pentru monitorizarea ciclului de viață al tranzacțiilor, pentru a audita tranzițiile de stare și a observa starea de sănătate a sistemului.
Provides a toolkit specifically designed to maintain data integrity and synchronization across distributed microservices.
tx-lcn este un framework de tranzacționare distribuită și un middleware de tranzacționare Java conceput pentru a gestiona operațiunile atomice și consistența datelor în mai multe microservicii și baze de date relaționale. Funcționează ca un coordonator de tranzacții distribuite care sincronizează operațiunile de commit și rollback pentru a asigura integritatea globală a datelor. Sistemul oferă un manager de consistență pentru microservicii care urmărește și rezolvă fluxurile de tranzacții peste limitele serviciilor. Dispune de un strat de integrare compatibil cu middleware-uri precum Spring Cloud, Dubbo și Motan, permițându-i să opereze în diferite framework-uri de servicii. Proiectul acoperă gestionarea și trasarea tranzacțiilor distribuite, permițând monitorizarea căilor de operare pentru a identifica eșecurile de consistență. Utilizează interfețe decuplate pentru a defini logica personalizată de commit și rollback pentru operațiunile de business.
Provides a toolkit to maintain data integrity and synchronization across distributed microservice boundaries.
Acest proiect servește ca o resursă educațională cuprinzătoare pentru implementarea monoliților modulari și a microserviciilor în medii .NET. Se concentrează pe aplicarea principiilor de domain-driven design (DDD) pentru a gestiona logica de business complexă, oferind o abordare structurată pentru construirea sistemelor care pot evolua odată cu cerințele în schimbare. Arhitectura este definită prin accentul pus pe modularitate și limite clare, utilizând felii verticale (vertical slices) și contexte delimitate (bounded contexts) pentru a organiza codul după procesul de business, mai degrabă decât după stratul tehnic. Se distinge printr-un framework de migrare sistematic care permite dezvoltatorilor să facă tranziția de la un codebase monolitic la servicii independente, distribuite. Acest lucru este realizat prin înlocuirea comunicării interne cu mesagerie robustă, bazată pe evenimente, și asigurându-se că logica de domeniu rămâne decuplată de preocupările de persistență și infrastructură. Proiectul acoperă o suprafață vastă de capabilități, inclusiv modelarea tactică a domeniului cu agregate și entități, strategii de testare automatizate folosind infrastructură containerizată și menținerea înregistrărilor deciziilor arhitecturale pentru a urmări evoluția design-ului. Oferă, de asemenea, instrumente pentru orchestrarea dezvoltării locale și analiză statică pentru a impune standarde de calitate în modulele independente. Repository-ul este structurat ca un ghid practic, oferind o metodologie pas cu pas pentru scalarea incrementală a arhitecturii software.
Provides a step-by-step methodology for transitioning monolithic applications into distributed services using message-based communication.