11 repository-uri
Implementation of synchronous communication models, such as remote procedure calls, within an asynchronous messaging system.
Distinct from Remote Procedure Call Patterns: Distinct from UI responsive patterns or data modeling; this is a behavioral communication pattern for service-to-service calls.
Explore 11 awesome GitHub repositories matching software engineering & architecture · Request-Response Pattern Support. Refine with filters or upvote what's useful.
RocketMQ is a cloud-native distributed messaging platform and streaming engine. It functions as a distributed transactional queue that ensures atomicity between local transactions and message delivery, and serves as an MQTT IoT message broker to bridge lightweight device traffic into high-performance data streams. The system is distinguished by a Kubernetes-native architecture that decouples compute from storage to allow independent scaling of traffic and data retention. It utilizes a tiered storage model to offload older data to remote storage and employs quorum-based replication and automat
Facilitates synchronous communication between services using a remote procedure call model within the messaging system.
MediatR is a .NET library for implementing the mediator pattern, serving as an in-process message broker that decouples senders and receivers by routing messages through a central dispatcher. It enables the transmission of requests and notifications between different components within a single application process. The framework provides a pipeline behavior system that allows for the interception and processing of messages through a sequence of custom behaviors. This architecture is used to implement cross-cutting concerns, such as logging or validation, across multiple handlers. The library
Implements a synchronous request-response pattern that isolates the requester from the processing logic.
This project is a collection of learning resources and instructional guides for implementing asynchronous messaging patterns using RabbitMQ. It provides a series of tutorials and runnable code examples focused on the Advanced Message Queuing Protocol to help users decouple services via a message broker. The resources cover practical implementation patterns including request-reply, pub-sub, and stream processing. These guides demonstrate how to use official client libraries to balance worker loads, route messages across multiple consumers in a distributed system, and deploy high availability b
Provides a pattern for sending requests and waiting for specific responses to simulate synchronous communication.
This is a Golang client library for interacting with a cloud native distributed messaging system. It provides the necessary tools for Go applications to exchange messages using publish-subscribe and request-reply patterns, as well as specialized clients for managing persistent streams and distributed storage. The library includes a JetStream client for durable message streaming and replay, a Key-Value store client for managing distributed state with versioning and watchers, and an Object Store client for the storage and retrieval of large binary files via chunked delivery. The implementation
Implements synchronous communication patterns by enabling a request-reply exchange over an asynchronous system.
Motan este un framework RPC cross-language și un service mesh distribuit conceput pentru construirea de servicii distribuite de înaltă performanță. Funcționează ca un strat de rețea care gestionează descoperirea serviciilor, rutarea cererilor și distribuția traficului în clusterele de servere. Sistemul operează ca un load balancer cross-datacenter, distribuind cererile în clustere și centre de date multiple folosind planificarea ponderată. Include un registru de descoperire a serviciilor pentru a localiza și conecta automat instanțele de servicii disponibile într-un mediu de rețea distribuit. Framework-ul oferă capabilități pentru coordonarea serviciilor distribuite prin apeluri de procedură la distanță sincrone și asincrone. De asemenea, implementează rutarea serviciilor cu disponibilitate ridicată pentru a asigura stabilitatea în diferite centre de date și gestionează schimbul de date între servicii scrise în limbaje de programare diferite.
Implements non-blocking remote procedure calls to coordinate work between servers while improving throughput.
Flask-SocketIO is a Flask extension that integrates the Socket.IO real-time communication protocol into Flask applications, enabling persistent bidirectional connections between servers and clients. It transparently switches between WebSocket and HTTP long-polling while maintaining a persistent session identity, and provides a full event-driven framework for real-time web application communication. The library distinguishes itself with support for namespace multiplexing, allowing event handlers to be isolated into separate namespaces with independent lifecycle and routing. It also offers room
Supports a synchronous request-reply pattern where the server emits an event and waits for a callback response.
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
Matches asynchronous message requests with responses using correlation identifiers to emulate synchronous remote procedure calls.
This is a Go client library and protocol implementation for interacting with message brokers using the AMQP 0.9.1 standard. It serves as an asynchronous messaging toolkit and message queue client for implementing producer and consumer patterns. The library provides a programmatic interface for managing the full message lifecycle, including publishing, consumption, and delivery acknowledgments. It supports reliable delivery mechanisms such as publishing confirmations and atomic transactions. The project covers the administration of routing topologies through the declaration and binding of que
Implements synchronous request-response patterns for blocking calls during queue and exchange declarations.
Quasar este un framework de concurență pentru JVM care implementează modelul actor și o bibliotecă de thread-uri lightweight. Oferă unități de execuție izolate care comunică prin mesagerie asincronă pentru a elimina starea mutabilă partajată. Proiectul se distinge printr-un sistem de actori distribuit capabil să opereze pe mai multe noduri de cluster cu registre transparente din punct de vedere al locației și migrarea stării actorilor. Utilizează un scheduler de tip „work-stealing fiber” pentru a gestiona milioane de thread-uri lightweight, permițând sarcinilor să se suspende în timpul operațiunilor I/O non-blocante fără a bloca thread-urile de sistem subiacente. Framework-ul cuprinde un set larg de capabilități, inclusiv ierarhii de supraveghere pentru recuperare tolerantă la erori și canale de comunicare de tip CSP pentru sincronizarea fluxului de date. De asemenea, oferă primitive pentru coordonarea sarcinilor prin futures și variabile de flux de date, precum și instrumente pentru monitorizarea stării fibrelor și detectarea execuțiilor necontrolate. Sistemul este implementat în Java.
Facilitates synchronous communication where a requester blocks until an actor processes a message and replies.
This project is a comprehensive educational guide and technical manual for the Ethereum blockchain. It provides structured instruction on blockchain fundamentals, smart contract development, and the architectural principles of decentralized applications. The resource covers technical domains including smart contract security auditing, network administration, and web3 programming. It details the implementation of token standards, the use of mnemonic seeds for wallet integration, and the creation of censorship-resistant application architectures. The documentation extends to system-level opera
Explains the request-response pattern for querying external data via signed callback transactions.
Ring is a Clojure HTTP web library that represents requests and responses as immutable data structures. It provides a functional framework for web development, treating HTTP traffic as standardized maps to decouple application logic from specific server implementations. The project features a middleware framework for composing reusable functional layers to handle cross-cutting concerns such as authentication and logging. It includes a server adapter system that translates raw traffic into request maps, as well as a dedicated integration layer for upgrading standard HTTP connections to bidirec
Processes requests using deferred callbacks to prevent thread blocking during long-running operations or I/O.