19 dépôts
Standardized request-response and procedure-call patterns used for resource management and service orchestration.
Explore 19 awesome GitHub repositories matching networking & communication · Application Interface Standards. Refine with filters or upvote what's useful.
n8n is a workflow automation platform that combines a visual interface with code-based extensibility to design, orchestrate, and manage automated processes. It provides a comprehensive suite of tools for data transformation, filtering, and storage, allowing users to build complex logic through conditional branching, looping, and sub-workflow execution. The platform supports both pre-built integration nodes and custom code execution in JavaScript or Python, enabling connectivity with a wide range of external services and APIs. The platform includes a suite of generative AI capabilities, such a
Exposes a comprehensive HTTP interface for programmatic control over workflows and external system integrations.
The Model Context Protocol is a standardized communication framework designed to connect language models to external data sources, functional tools, and interactive user interfaces. It provides a vendor-neutral interface layer that enables AI hosts to discover and execute capabilities across heterogeneous service environments, using a JSON-RPC based messaging standard to facilitate bidirectional communication between clients and servers. The protocol distinguishes itself through a robust capability-based handshake that negotiates feature sets during session initialization, ensuring compatibil
Implements a JSON-RPC messaging standard to define bidirectional communication patterns for distributed service architectures.
Syncthing est un moteur de synchronisation de fichiers décentralisé qui maintient des états de données cohérents sur plusieurs appareils via un réseau maillé peer-to-peer. Il fonctionne comme un démon en arrière-plan qui réplique automatiquement les créations, modifications et suppressions de fichiers entre des nœuds de confiance sans nécessiter de serveurs centraux. En utilisant l'indexation de blocs adressables par contenu et la synchronisation delta au niveau des blocs, le système identifie et transfère uniquement les segments modifiés des fichiers, assurant une propagation efficace des données dans des environnements hétérogènes. Le projet se distingue par une architecture axée sur la sécurité qui repose sur l'authentification mutuelle TLS pour vérifier l'identité des appareils, garantissant que toutes les connexions sont liées cryptographiquement aux empreintes de certificats de confiance. Il prend en charge des modes de synchronisation flexibles, notamment la réplication bidirectionnelle, la mise en miroir unidirectionnelle pour les sauvegardes et l'application basée sur des références. Pour plus de confidentialité, le système fournit un chiffrement au niveau des dossiers pour les appareils non approuvés et permet un contrôle granulaire du trafic réseau, y compris la possibilité de restreindre les opérations aux réseaux locaux ou d'utiliser une infrastructure de relais pour le franchissement NAT. Au-delà de ses capacités de réplication de base, la plateforme offre des outils de gestion complets, notamment un tableau de bord web pour surveiller l'état de la connexion et le débit, ainsi qu'une interface de ligne de commande pour une configuration avancée. Il inclut des stratégies de versionnage robustes pour protéger contre la perte de données et prend en charge des scénarios de déploiement complexes grâce à une intégration native des services et des métriques d'observabilité. Le logiciel est conçu pour une compatibilité multiplateforme et peut être installé via des gestionnaires de paquets standard ou des environnements conteneurisés.
Exposes programmatic control over synchronization services, conflict resolution, and configuration management through standard HTTP endpoints.
Nest is a server-side framework for building scalable and maintainable enterprise-grade applications using TypeScript. It provides a modular architecture that organizes code into encapsulated, reusable modules, utilizing a dependency injection container to manage object lifecycles and resolve component dependencies through declarative metadata. The framework distinguishes itself through a platform-agnostic abstraction layer that decouples core logic from underlying HTTP servers, allowing for flexible implementation choices. It employs a middleware-based request pipeline that processes traffic
Supports distributed system integration through robust messaging patterns and event-driven communication channels.
Memos is a self-hosted, container-native knowledge management platform designed for capturing and organizing personal notes. It functions as a private workspace where users can create content using markdown, tags, and media embeds to streamline daily productivity. The system is built to be deployed as a portable service, allowing individuals to maintain full control over their data and hosting environment. Beyond its core note-taking capabilities, the platform operates as a headless content service that exposes a structured RESTful API. This interface allows for programmatic interaction, enab
Enable programmatic interaction between distributed systems through standardized HTTP interfaces for automated data exchange.
This project serves as a comprehensive knowledge base and reference for distributed systems engineering and enterprise software architecture. It provides a structured collection of technical resources, design patterns, and methodologies intended to assist in the design, maintenance, and scaling of complex, high-performance software environments. The repository distinguishes itself by offering deep dives into core architectural concepts such as actor-based concurrency, aspect-oriented interception, and inversion-of-control containers. It emphasizes the practical application of distributed syst
Invoke functions across distributed systems to enable seamless communication between remote services.
This project is a reference implementation of microservices architectures using the Spring Cloud ecosystem. It provides a set of example services that demonstrate the construction of distributed systems through automated service discovery, dynamic routing, and shared configuration. The implementation covers core distributed patterns, including a service discovery system for tracking network components and an API gateway for orchestrating incoming traffic. It features a centralized configuration manager to propagate application settings across multiple instances and a distributed tracing syste
Provides a reference implementation for orchestrating microservices using automated discovery and dynamic routing.
gRPC Java is a library for building distributed systems that enables client and server applications to interact through remote procedure calls. It uses protocol buffers to define service interfaces and exchange structured data, providing a framework for connecting microservices across different environments. The framework utilizes an asynchronous networking foundation to manage concurrent connections and relies on a multiplexed binary protocol to facilitate efficient data exchange. It supports pluggable transport interceptors, allowing for the injection of custom logic into the request-respon
Facilitates high-performance inter-service communication using a language-agnostic protocol.
Feign est un client HTTP Java déclaratif qui automatise la génération de clients de services web. Il permet aux développeurs de définir des endpoints d'API REST en utilisant des interfaces et des annotations, supprimant le besoin d'écrire manuellement du code répétitif pour les requêtes et réponses. Le projet utilise des proxys dynamiques pour mapper les appels de méthode vers des modèles de requête HTTP. Il dispose d'un pipeline enfichable d'encodeurs et de décodeurs pour transformer les objets Java en corps de requête et convertir les corps de réponse en objets typés. La bibliothèque couvre un large éventail de capacités d'intégration, incluant l'interception de requêtes pour la gestion des en-têtes, une logique de réessai basée sur des stratégies pour une consommation résiliente des services, et l'expansion de modèles pour les URIs. Elle fournit également des outils pour enregistrer les logs de trafic HTTP et collecter des métriques de performance client.
Standardizes synchronous communication between distributed microservices using a declarative client approach.
Feign is a declarative Java HTTP client framework that maps method signatures to REST API requests. It functions as an HTTP interface mapper, allowing the creation of type-safe clients by defining service interfaces with annotations to eliminate manual request logic. The framework features a pluggable HTTP transport layer, which decouples request definition from execution by routing network traffic through interchangeable underlying HTTP engines. It provides a comprehensive request management pipeline including interceptors for modifying headers, policy-driven retry logic for failure recover
Facilitates communication between distributed Java microservices with built-in support for retries and request interceptors.
Iceberg is an open table format and big data table manager designed for huge analytic datasets in cloud storage. It provides a specification for tracking large-scale datasets to maintain transactional consistency and structural integrity. The project utilizes a standardized REST catalog interface to manage table metadata, ensuring interoperability between different compute engines. This allows diverse query engines to connect to a single table interface and maintain consistency across different processing frameworks. Its core capabilities include managing large-scale analytic tables, coordin
Implements a standardized REST catalog interface to manage table metadata and ensure interoperability between diverse query engines.
MassTransit is a .NET distributed application framework and asynchronous messaging library designed for building distributed systems. It serves as an enterprise service bus implementation that handles the routing, transformation, and delivery of messages between decoupled services. The framework provides a message broker abstraction layer, which decouples application code from specific messaging infrastructure such as RabbitMQ, Azure Service Bus, or Amazon SQS. It supports event-driven architecture and asynchronous microservices communication to improve system scalability and availability. T
Facilitates asynchronous microservices communication to allow independent operation of distributed components.
CAP is a .NET distributed transaction framework and event bus designed to manage asynchronous communication in microservices. It implements the outbox pattern to ensure eventual consistency and reliable message delivery by persisting messages in local database tables until transactions commit. The framework includes a distributed message monitor and web dashboard for tracking the status of sent and received messages. It provides tools for event traffic visualization, distributed request tracing, and the ability to manually trigger retries for failed delivery attempts. The system supports var
Orchestrates communication workflows between microservices using event topics and subscription groups.
Ce projet est un framework d'intégration qui amorce les services d'appel de procédure à distance (RPC) Apache Dubbo au sein des applications Spring Boot. Il sert de framework de communication pour microservices qui permet l'implémentation de services RPC, la découverte de services et la gouvernance distribuée via une configuration automatisée. Le projet se distingue en fournissant un pont RPC multi-langage, permettant aux services écrits dans différents langages de communiquer via des standards tels que gRPC et Protobuf. Il permet en outre l'exposition de microservices backend en tant qu'endpoints REST utilisant le protocole Triple pour un accès direct depuis les navigateurs web et les clients tiers. Le framework couvre un large éventail de capacités, notamment la gouvernance de services distribués pour le routage du trafic et la limitation de débit, la gestion centralisée de la configuration et l'observabilité des microservices pour le traçage des requêtes et la surveillance de la santé. Il prend également en charge diverses couches de transport et intégrations de stockage pour Redis et Memcached. Le projet fournit des starters et des configurations pour automatiser l'amorçage de l'infrastructure RPC au sein de l'environnement Spring Boot.
Implements a comprehensive framework for orchestrating distributed systems through high-performance RPC and messaging patterns.
Apache Dubbo Go est une implémentation en langage Go du framework Apache Dubbo conçue pour construire des microservices haute performance. Il sert de framework RPC inter-langages et de couche de communication pour microservices, permettant des appels de procédure à distance entre des services écrits dans différents langages de programmation. Le framework fonctionne comme un ensemble d'outils de gouvernance de services et un proxy de service mesh distribué, permettant aux plans de données de se connecter à des plans de contrôle externes en mode proxy ou sans proxy. Il fournit spécifiquement une couche de compatibilité pour faciliter la communication entre les services Go et Java grâce à des définitions agnostiques au langage et un encodage de données standardisé. Le système couvre un large éventail de capacités distribuées, notamment la découverte dynamique de services, l'équilibrage de charge basé sur des stratégies et la gestion du trafic via des disjoncteurs (circuit breakers) et la limitation de débit (rate limiting). Il intègre l'observabilité grâce au traçage distribué des requêtes et aux métriques de performance, tout en assurant la sécurité avec le chiffrement de la couche de transport et le contrôle d'accès basé sur l'identité. La productivité des développeurs est soutenue par une interface en ligne de commande pour le bootstrapping d'applications et la génération automatisée de stubs RPC à partir de définitions d'interfaces.
Handles service registration, health checking, and request tracing across distributed microservice clusters.
Ce projet est un framework gRPC pour Node.js utilisé pour implémenter des appels de procédure distante (RPC) haute performance. Il fournit une bibliothèque de communication client-serveur qui utilise HTTP/2 pour le streaming, le multiplexage et le cadrage binaire, ainsi qu'une implémentation de protocol buffers pour définir des données structurées et générer des stubs de service. Le framework inclut une chaîne d'outils pour compiler les fichiers protocol buffer en objets spécifiques au langage et prend en charge la génération de définitions de type TypeScript statiques pour valider les objets à l'exécution. La bibliothèque couvre la mise en réseau des systèmes distribués et la communication entre microservices, incluant le chiffrement SSL/TLS, la compression des messages et l'équilibrage de charge. Elle gère le cycle de vie des requêtes via des délais, des tentatives, la récupération de connexion et l'annulation d'appels. Les capacités supplémentaires incluent le streaming de données bidirectionnel, la réflexion de service pour la découverte programmatique et des services de vérification de santé standardisés.
Connects distributed services using efficient request-response and streaming data exchange based on standardized schemas.
Seneca est un framework d'architecture pilotée par les messages et une boîte à outils de microservices pour Node.js. Il fonctionne comme un orchestrateur de tâches distribué et un routeur de messages basé sur des patterns, permettant aux développeurs de construire des systèmes de services découplés qui communiquent via un bus de messages. Le framework se distingue par un système de plugins modulaire qui organise la logique métier en modules réutilisables et configurables. Il prend en charge les extensions d'action dynamiques, permettant à de nouveaux gestionnaires d'envelopper ou de remplacer des patterns d'action existants pour injecter une logique personnalisée sans modifier le code original. Le système couvre un large éventail de capacités incluant la communication de services distribués, l'orchestration d'actions asynchrones et la gestion de données d'entité. Il fournit également des outils d'observabilité pour le traçage de patterns d'action, la visualisation de logs basée sur le web et des utilitaires d'assurance qualité pour le mocking de dépendances de services.
Facilitates the orchestration of distributed systems through robust messaging patterns and event-driven communication across a network.
This project is a comprehensive computer networking textbook and instructional resource. It serves as a technical guide for the design and implementation of network layers, protocols, and hardware architecture, covering the spectrum from physical links to application-layer protocols. The content provides a detailed study of standards for congestion control, reliable data delivery, and internetwork routing. It includes specialized technical material on network security, public-key infrastructure, and the operation of modern cloud infrastructure and data centers. The material covers a broad ra
Defines standardized request-response and procedure-call patterns to ensure interoperation between diverse clients and servers.
This project is a cloud-based office suite and self-hosted document server that enables the creation and editing of documents, spreadsheets, and presentations. It functions as a headless office application, utilizing a server-side processing engine to handle file rendering and formatting without requiring a local graphical user interface. The system operates as a real-time collaborative editor, employing operational transformation to allow multiple users to edit files simultaneously. It also serves as a web-based document processor capable of automating office tasks through macro execution an
Implements a JSON-RPC based communication standard for sending structured commands to the remote processing engine.