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

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Netflix avatar

Netflix/ribbon

0
View on GitHub↗

Ribbon

Ribbon is a client-side load balancer and RPC communication library designed for inter-process communication. It functions as a fault-tolerant network proxy that distributes outgoing network requests across a pool of available server instances to prevent node overload.

The project integrates as a service discovery client, maintaining synchronized lists of available server instances by connecting with cloud environment discovery tools. This allows it to manage request retries and failover behavior when remote servers become unresponsive.

The library supports a protocol-agnostic transport layer for HTTP, TCP, and UDP communication. It further manages network traffic through circuit-breaker fault tolerance, pluggable serialization schemes, and request batching and caching to reduce overhead.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

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.
4,613 stars·1,227 forks·Java·Apache-2.0·21 views

Star history

Star history chart for netflix/ribbonStar history chart for netflix/ribbon

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Frequently asked questions

What does netflix/ribbon do?

Ribbon is a client-side load balancer and RPC communication library designed for inter-process communication. It functions as a fault-tolerant network proxy that distributes outgoing network requests across a pool of available server instances to prevent node overload.

What are the main features of netflix/ribbon?

The main features of netflix/ribbon are: 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.

Which projects share features with netflix/ribbon?

Projects with overlapping indexed features include: 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…

Projects sharing features with Ribbon

These projects share indexed features with Ribbon. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • twitter/finagletwitter avatar

    twitter/finagle

    8,867View on 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
    View on GitHub↗8,867
  • apache/brpcapache avatar

    apache/brpc

    17,545View on 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
    View on GitHub↗17,545
  • alipay/sofa-rpcalipay avatar

    alipay/sofa-rpc

    3,921View on 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
    View on GitHub↗3,921
  • dyc87112/springcloud-learningdyc87112 avatar

    dyc87112/SpringCloud-Learning

    7,375View on 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
    View on GitHub↗7,375
Compare all 30 related projects→