awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Netflix avatar

Netflix/ribbon

0
View on GitHub↗
4,613 stars·1,227 forks·Java·Apache-2.0·9 vues

Ribbon

Ribbon est un équilibreur de charge côté client et une bibliothèque de communication RPC conçue pour la communication inter-processus. Il fonctionne comme un proxy réseau tolérant aux pannes qui distribue les requêtes réseau sortantes à travers un pool d'instances de serveur disponibles pour éviter la surcharge des nœuds.

Le projet s'intègre en tant que client de découverte de service, maintenant des listes synchronisées d'instances de serveur disponibles en se connectant avec des outils de découverte d'environnement cloud. Cela lui permet de gérer les tentatives de requête et le comportement de basculement lorsque les serveurs distants ne répondent plus.

La bibliothèque prend en charge une couche de transport agnostique au protocole pour la communication HTTP, TCP et UDP. Elle gère en outre le trafic réseau via la tolérance aux pannes par disjoncteur (circuit-breaker), des schémas de sérialisation enfichables, et le traitement par lots et la mise en cache des requêtes pour réduire la surcharge.

Features

  • Client-Side Load Balancing - Provides client-side logic to distribute network requests across multiple available server instances.
  • Service Discovery Clients - Implements a client that resolves service names from cloud registries to route requests to available instances.
  • Inter-Process Communication - Enables inter-process communication via asynchronous remote procedure calls across diverse network protocols.
  • Fault Tolerant Network Proxies - Acts as a fault-tolerant network proxy managing request retries and failover behavior.
  • Multi-Protocol Transport Abstraction - Implements a unified interface to manage asynchronous communication across different network transport protocols.
  • Protocol-Agnostic Transport Layers - Provides a transport layer abstraction that supports multiple protocols including HTTP, TCP, and UDP.
  • Remote Procedure Calls - Facilitates the execution of remote procedure calls distributed across multiple server instances.
  • RPC Frameworks - Provides a full framework for executing asynchronous remote procedure calls over HTTP, TCP, and UDP.
  • Service Discovery Integrations - Integrates with external cloud registries to synchronize and maintain lists of healthy server instances.
  • Circuit Breakers - Implements circuit breakers to stop traffic to unresponsive remote server instances and prevent cascading failures.
  • Fault Tolerance - Manages failure handling and request retries to ensure resilience in distributed service communication.
  • Dynamic Instance Synchronization - Maintains an accurate, synchronized list of available server instances via service discovery tools.
  • Server Request Load Balancers - Distributes outgoing network requests across a pool of servers using load balancing algorithms.
  • Batch Request Optimizations - Optimizes request performance by batching multiple API calls to reduce network round-trips.
  • Pluggable Serialization - Ships a pluggable architecture for interchangeable encoders to handle various REST and RPC payloads.
  • Request Batching - Reduces network overhead by grouping multiple remote procedure calls into single executions.
  • Developer Utilities - Remote procedure call library with built in software load balancers.
  • HTTP Clients - Battle-tested client-side IPC library for cloud environments.
  • Load Balancing and Ingress - Inter-process communication library with software load balancing.
  • Web Development Libraries - Inter-process communication library with software load balancing.

Historique des stars

Graphique de l'historique des stars pour netflix/ribbonGraphique de l'historique des stars pour netflix/ribbon

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait netflix/ribbon ?

Ribbon est un équilibreur de charge côté client et une bibliothèque de communication RPC conçue pour la communication inter-processus. Il fonctionne comme un proxy réseau tolérant aux pannes qui distribue les requêtes réseau sortantes à travers un pool d'instances de serveur disponibles pour éviter la surcharge des nœuds.

Quelles sont les fonctionnalités principales de netflix/ribbon ?

Les fonctionnalités principales de netflix/ribbon sont : Client-Side Load Balancing, Service Discovery Clients, Inter-Process Communication, Fault Tolerant Network Proxies, Multi-Protocol Transport Abstraction, Protocol-Agnostic Transport Layers, Remote Procedure Calls, RPC Frameworks.

Quelles sont les alternatives open-source à netflix/ribbon ?

Les alternatives open-source à netflix/ribbon incluent : twitter/finagle — Finagle is a distributed service mesh and fault-tolerant remote procedure call framework. It provides a… apache/brpc — brpc is a high-performance C++ RPC framework and network programming library designed for building distributed… dyc87112/springcloud-learning — SpringCloud-Learning is an educational project that demonstrates how to build microservices using Spring Cloud,… alipay/sofa-rpc — sofa-rpc is a Java-based remote procedure call framework designed for executing remote functions and exchanging data… doocs/advanced-java — This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency… google/tarpc — tarpc is a remote procedure call framework for Rust that generates server traits and client stubs for network…

Alternatives open source à Ribbon

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Ribbon.
  • twitter/finagleAvatar de twitter

    twitter/finagle

    8,867Voir sur GitHub↗

    Finagle is a distributed service mesh and fault-tolerant remote procedure call framework. It provides a protocol-agnostic network library that implements a consistent interface for different network standards, including HTTP and Thrift. The project distinguishes itself by integrating a fault tolerance library that prevents cascading failures through circuit breaking and timeout management. It also implements a distributed tracing system to track requests across network boundaries and visualize call graphs. The framework covers several core capability areas, including dynamic service discover

    Scala
    Voir sur GitHub↗8,867
  • apache/brpcAvatar de apache

    apache/brpc

    17,545Voir sur GitHub↗

    brpc is a high-performance C++ RPC framework and network programming library designed for building distributed systems. It functions as a multi-protocol RPC server capable of hosting and detecting multiple communication protocols, including gRPC, Thrift, HTTP, Redis, and Memcached, on a single TCP port. The project distinguishes itself through high-throughput data transport and memory efficiency, utilizing RDMA-based transport to bypass the kernel TCP stack and zero-copy memory management to eliminate data duplication. It also implements the Raft algorithm for consensus-based state replicatio

    C++rpc
    Voir sur GitHub↗17,545
  • alipay/sofa-rpcAvatar de alipay

    alipay/sofa-rpc

    3,921Voir sur GitHub↗

    sofa-rpc is a Java-based remote procedure call framework designed for executing remote functions and exchanging data between distributed applications. It serves as a distributed service orchestrator and communication tool, providing a registry-integrated manager to locate and track active network endpoints across a cluster. The framework is built with an interface-based plugin architecture, allowing internal logic and RPC behaviors to be customized through abstraction interfaces. This extensibility enables the implementation of specialized business logic without modifying the core system. Th

    Java
    Voir sur GitHub↗3,921
  • dyc87112/springcloud-learningAvatar de dyc87112

    dyc87112/SpringCloud-Learning

    7,375Voir sur GitHub↗

    SpringCloud-Learning is an educational project that demonstrates how to build microservices using Spring Cloud, covering the core patterns of service discovery, centralized configuration management, and API gateway routing. The project provides hands-on examples for registering and discovering microservice instances with Nacos, Eureka, or Consul, and for routing external API requests through Spring Cloud Gateway with support for filters and load balancing. The tutorials explore service resilience through circuit breakers and rate limiting with Sentinel and Hystrix, including custom fallback l

    Javaconsuleurekahystrix
    Voir sur GitHub↗7,375
  • Voir les 30 alternatives à Ribbon→