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.
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.
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…
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
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
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
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