6 repositorios
Patterns for routing events between decoupled server processes via a message broker.
Distinct from API Decoupling: Distinct from API Decoupling: focuses on the specific mechanism of using a message broker for real-time event routing between decoupled servers, rather than the general architectural separation.
Explore 6 awesome GitHub repositories matching web development · Message Broker Routing. Refine with filters or upvote what's useful.
SpaceBarChat is an open-source, self-hosted chat server that implements the Discord client-server protocol, allowing existing Discord clients and bots to connect without modification. It provides a complete communication platform for real-time messaging, voice, and video, all running on your own infrastructure with data stored in a PostgreSQL database that automatically synchronizes its schema with the application source code. The platform is built on a three-service architecture that separates API, Gateway, and CDN processes, communicating via Unix domain sockets or RabbitMQ for coordination
Implements a three-service architecture with message broker routing for real-time updates.
Moleculer is a Node.js microservices framework designed for building distributed systems. It functions as a distributed service broker, task orchestrator, and service mesh framework, enabling a decentralized architecture with built-in service discovery and load balancing. The project differentiates itself through a pluggable transport layer supporting protocols such as NATS, Redis, TCP, and Kafka, as well as a dedicated microservices API gateway that maps external HTTP and WebSocket requests to internal service actions. It includes built-in fault tolerance mechanisms, including circuit breake
Uses message brokers like NATS or Redis to route events between decoupled server processes.
FastStream is an asynchronous Python framework designed for building event-driven microservices. It provides a unified abstraction layer for interacting with various message brokers, enabling developers to manage event production and consumption through a consistent interface while maintaining access to native provider-specific features. The framework centers on a decorator-based routing model that binds application logic directly to broker topics, supported by a built-in dependency injection container that resolves resources at runtime. The framework distinguishes itself through its deep int
Redirects subscribers and publishers to an in-memory store to allow application testing without a live broker.
Este proyecto es una implementación de referencia y un plano arquitectónico para construir sistemas distribuidos utilizando el framework go-zero. Proporciona un boilerplate completo de microservicios y una estructura de proyecto estandarizada para arrancar servicios API y RPC con estructuras de carpetas consistentes. La implementación se distingue por proporcionar una guía completa y una base de código para el descubrimiento de servicios, limitación de tasa (rate limiting) y disyuntores (circuit breaking). Demuestra una integración de stack de observabilidad que coordina el rastreo distribuido, la recolección de métricas y el registro centralizado de logs a través de múltiples microservicios. El sistema cubre una amplia gama de capacidades distribuidas, incluyendo mensajería asíncrona mediante un modelo de publicación-suscripción, gestión de transacciones distribuidas para la consistencia de datos y un patrón de agregación de gateway para separar las solicitudes externas de la comunicación interna. También incluye generación automática de código a partir de definiciones y pipelines de entrega continua para el despliegue en contenedores.
Provides asynchronous task queues for executing background jobs and handling deferred work via a broker.
FastStream is an asyncio message broker framework for building event-driven applications in Python. It provides a unified interface and a multi-broker messaging abstraction layer that translates generic producer and consumer calls into broker-specific APIs. The framework features a built-in dependency injection container and uses decorators to route messages to asynchronous handler functions. It includes a documentation generator that extracts channel definitions and message formats from code to produce standardized AsyncAPI specifications. The project supports integration with Kafka, Rabbit
Sends messages to the broker from any HTTP route using context injection.
Nameko es un framework de microservicios de Python diseñado para construir sistemas distribuidos. Funciona como un framework de comunicación RPC y una herramienta de arquitectura basada en eventos, utilizando un broker de mensajes para desacoplar componentes de servicio aislados. El framework proporciona una puerta de enlace multiprotocolo que expone la lógica de microservicios internos a clientes externos a través de endpoints HTTP y websockets. Permite el intercambio de mensajes de solicitud-respuesta y la difusión de eventos asíncronos para mantener la consistencia de los datos en un sistema distribuido. El sistema incluye una interfaz de línea de comandos para controlar e interactuar con los servicios, así como utilidades para pruebas unitarias y de integración de la lógica de servicios distribuidos.
Uses a message broker to route asynchronous requests and events between decoupled microservices.