13 repositorios
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 es un framework de transacciones distribuidas y orquestador de flujos de trabajo diseñado para gestionar la consistencia de datos a través de microservicios. Funciona como un coordinador centralizado que sincroniza transacciones distribuidas y gestiona el estado y el flujo de ejecución de secuencias complejas de tareas distribuidas. El framework implementa varios patrones de coordinación, incluyendo Saga, TCC y XA, para evitar errores de sincronización. Proporciona específicamente un coordinador de transacciones multilenguaje para sincronizar operaciones a través de servicios escritos en diferentes lenguajes de programación y utiliza un outbox de mensajería fiable para acoplar las actualizaciones de la base de datos con el envío de mensajes. Su superficie de capacidades cubre la recuperación de sistemas distribuidos mediante reversiones de transacciones compensatorias, coordinación de confirmación en dos fases (2PC) y entrega de mensajes exactamente una vez. La infraestructura admite la expansión de capacidad horizontal y configuraciones de alta disponibilidad para mantener la estabilidad a medida que aumentan los volúmenes de solicitudes.
Provides a comprehensive framework for maintaining data integrity and synchronization across distributed services.
Twirp es un framework RPC de Protocol Buffers diseñado para implementar la comunicación de microservicios distribuidos con tipado fuerte sobre HTTP. Funciona como un framework de comunicación de microservicios y generador de código de API que produce stubs de cliente e interfaces de servidor fuertemente tipados a partir de definiciones de esquema para eliminar el boilerplate de red manual. El framework garantiza la compatibilidad con la infraestructura web existente ejecutando llamadas a procedimientos remotos sobre transporte HTTP estándar. Utiliza contratos basados en esquemas como una única fuente de verdad para permitir la interoperabilidad entre lenguajes y desacoplar la lógica de negocio del transporte de red. El sistema cubre varias áreas de capacidad principales, incluyendo el enrutamiento basado en interfaces, la serialización de datos en múltiples formatos (JSON y binario) y middleware para el ciclo de vida de las solicitudes para preocupaciones transversales. También proporciona un sistema de mapeo de errores estandarizado para traducir fallos de servicio en códigos legibles por máquina e incluye herramientas para la verificación de compatibilidad del cliente.
Provides a framework for building lightweight, production-ready distributed microservices using structured data exchange.
Este proyecto es un framework de microservicios para construir sistemas backend escalables en Go. Proporciona una arquitectura para sistemas distribuidos con soporte integrado para descubrimiento de servicios, balanceo de carga y mecanismos de tolerancia a fallos. El framework se distingue por una arquitectura en capas basada en el dominio y un sistema de configuración remoto que sincroniza la configuración entre almacenes remotos y archivos locales con conmutación por error automática. Implementa un modelo de comunicación de alto rendimiento utilizando gRPC para el intercambio de datos unarios y de streaming, así como sistemas de notificación en tiempo real para gestionar conexiones persistentes de clientes. El sistema cubre una amplia gama de capacidades distribuidas, incluyendo la gestión del tráfico mediante disyuntores (circuit breaking) y limitación de tasa (rate limiting), y observabilidad a través de rastreo distribuido, registro centralizado y monitoreo de salud. También incorpora herramientas de infraestructura de datos como filtros de bloom probabilísticos, bloqueo distribuido y autenticación de servicios basada en tokens. El proyecto incluye soporte de despliegue para entornos de Elasticsearch y HBase contenedorizados.
Provides a comprehensive framework for building resilient, production-ready distributed microservices in Go.
Hmily es un framework de transacciones distribuidas y gestor de consistencia de datos diseñado para mantener el estado a través de múltiples servicios. Opera como un coordinador que rastrea estados de transacciones a través de llamadas a procedimientos remotos para gestionar operaciones anidadas y asegurar terminaciones atómicas. El proyecto implementa el patrón SAGA para orquestar procesos de negocio de larga duración a través de una secuencia de transacciones locales y acciones compensatorias automatizadas. Se distingue por automatizar la generación y ejecución de scripts de rollback para bases de datos relacionales para recuperarse de excepciones de negocio y restaurar la consistencia de los datos. El framework cubre la gestión de transacciones distribuidas utilizando patrones de try-confirm-cancel y proporciona una capa de persistencia para registrar historiales de operaciones a través de bases de datos relacionales y de documentos. También incluye una interfaz de gestión para el monitoreo del ciclo de vida de las transacciones para auditar transiciones de estado y observar la salud del sistema.
Provides a toolkit specifically designed to maintain data integrity and synchronization across distributed microservices.
tx-lcn es un framework de transacciones distribuidas y middleware de transacciones Java diseñado para gestionar operaciones atómicas y consistencia de datos a través de múltiples microservicios y bases de datos relacionales. Funciona como un coordinador de transacciones distribuidas que sincroniza operaciones de commit y rollback para garantizar la integridad global de los datos. El sistema proporciona un gestor de consistencia de microservicios que rastrea y resuelve flujos de transacciones a través de límites de servicio. Cuenta con una capa de integración compatible con middleware como Spring Cloud, Dubbo y Motan, permitiéndole operar a través de diferentes frameworks de servicio. El proyecto cubre la gestión y el rastreo de transacciones distribuidas, permitiendo el monitoreo de rutas de operación para identificar fallos de consistencia. Utiliza interfaces desacopladas para definir lógica personalizada de commit y rollback para operaciones de negocio.
Provides a toolkit to maintain data integrity and synchronization across distributed microservice boundaries.
This project serves as a comprehensive educational resource for implementing modular monoliths and microservices within .NET environments. It focuses on applying domain-driven design principles to manage complex business logic, providing a structured approach to building systems that can evolve alongside changing requirements. The architecture is defined by its emphasis on modularity and clear boundaries, utilizing vertical slices and bounded contexts to organize code by business process rather than technical layer. It distinguishes itself through a systematic migration framework that allows
Provides a step-by-step methodology for transitioning monolithic applications into distributed services using message-based communication.