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
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Snailclimb avatar

Snailclimb/guide-rpc-framework

0
View on GitHub↗
4,416 stars·2,165 forks·Java·13 vuesgitee.com/SnailClimb/guide-rpc-framework↗

Guide Rpc Framework

Il s'agit d'un framework d'appel de procédure à distance (RPC) construit sur Netty pour la communication asynchrone entre services distribués. Il fournit l'infrastructure nécessaire pour exécuter des appels de procédure à distance sur un réseau, permettant aux clients et serveurs d'interagir sans blocage.

Le framework utilise Zookeeper pour l'enregistrement des services et la découverte dynamique, garantissant que les fournisseurs de services peuvent être localisés automatiquement à l'exécution. Il inclut un gestionnaire de versioning de service pour organiser et suivre différentes itérations d'interfaces de service, permettant des déploiements côte à côte de versions multiples.

Le système implémente la sérialisation binaire via Kryo pour convertir les objets Java en flux d'octets compacts pour le transport réseau. Il intègre également un équilibreur de charge distribué qui route les requêtes entre les fournisseurs en utilisant des stratégies aléatoires ou round-robin, et utilise une surveillance basée sur le heartbeat pour suivre la disponibilité des services et l'état des connexions.

Features

  • Remote Procedure Calls - Provides a high-performance framework for executing remote procedures as if they were local function calls.
  • Complex Data Serialization - Serializes complex Java objects into efficient byte streams for fast transmission over the network.
  • Data Serialization Formats - Implements binary serialization formats to move Java objects efficiently across the network.
  • Serialization Libraries - Utilizes the Kryo library for converting Java objects into binary formats for network transport.
  • Service Instance Registrations - Utilizes Zookeeper to announce service provider locations and enable dynamic discovery during runtime.
  • Binary Serialization - Employs Kryo to convert complex Java objects into compact binary streams for efficient network transmission.
  • Netty-Based Servers - Leverages Netty's event-driven non-blocking I/O model for high-concurrency request and response processing.
  • RPC Frameworks - Provides a high-performance RPC framework built on Netty for asynchronous distributed communication.
  • Traffic Distribution - Distributes RPC requests across multiple available providers using random or round-robin selection strategies.
  • Dynamic Service Discovery - Provides mechanisms for locating available service provider instances via a centralized Zookeeper registry.
  • Service Discovery Registries - Uses Zookeeper to maintain a dynamic registry of service providers for automatic runtime discovery.
  • Registry Heartbeat Monitoring - Uses periodic heartbeat signals to track service availability and evict unresponsive nodes from the registry.
  • Proxy-Based Remote Invocation - Utilizes dynamic proxies and Java reflection to transparently route local method calls to remote servers.
  • Distributed Load Balancing - Routes RPC requests across a distributed pool of providers to optimize resource utilization.
  • Load Balancing Strategies - Distributes incoming RPC requests across available providers using random and round-robin selection strategies.
  • Interface Versioning - Organizes and tracks different versions of service interfaces to allow side-by-side deployments.
  • Service Version Management - Manages multiple iterations of service interfaces to enable side-by-side deployments of different versions.
  • Load Balancers - Balances network traffic across multiple service instances using random or round-robin rotation.
  • Asynchronous Service Invocations - Implements non-blocking remote calls that return futures to enable asynchronous processing.
  • Service Versioning Strategies - Provides a service versioning manager to organize and track different iterations of service interfaces for side-by-side deployment.
  • RPC Connection Heartbeats - Implements heartbeat-based monitoring to track service availability and connection health between distributed nodes.
  • Network Connectivity Monitoring - Tracks the real-time online status of remote service providers using periodic heartbeat signals.
  • Service Availability Checkers - Uses heartbeat detection to monitor the availability and operational status of remote service providers.
  • Provider Version Matching - Groups services and tracks version numbers to ensure clients connect to the correct iteration of a provider.

Historique des stars

Graphique de l'historique des stars pour snailclimb/guide-rpc-frameworkGraphique de l'historique des stars pour snailclimb/guide-rpc-framework

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

Alternatives open source à Guide Rpc Framework

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Guide Rpc Framework.
  • apache/dubboAvatar de apache

    apache/dubbo

    41,519Voir sur GitHub↗

    Dubbo is a Java RPC framework and microservices governance platform designed for high-performance remote procedure calls in distributed architectures. It provides the foundational components necessary to connect distributed services across a network, including a binary data serialization library and a distributed service registry. The platform distinguishes itself through a comprehensive governance suite that manages service discovery, load balancing, and traffic routing. It enables precise control over network traffic via conditional routing and a pluggable extension mechanism based on a ser

    Javadistributed-systemsdubboframework
    Voir sur GitHub↗41,519
  • doocs/advanced-javaAvatar de doocs

    doocs/advanced-java

    78,987Voir sur GitHub↗

    This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency design, distributed systems, and microservices architecture. It provides detailed strategies for decomposing monolithic applications, managing service discovery, and implementing the architectural patterns required for scalable backend environments. The repository distinguishes itself through an extensive collection of big data algorithmic references and database scaling strategies. It covers memory-efficient techniques for analyzing massive datasets, such as Top-K element extrac

    Javaadvanced-javadistributed-search-enginedistributed-systems
    Voir sur GitHub↗78,987
  • apache/dubbo-spring-boot-projectAvatar de apache

    apache/dubbo-spring-boot-project

    5,389Voir sur GitHub↗

    This project is an integration framework that bootstraps Apache Dubbo remote procedure call services within Spring Boot applications. It serves as a microservice communication framework that enables the implementation of RPC services, service discovery, and distributed governance through automated configuration. The project distinguishes itself by providing a cross-language RPC bridge, allowing services written in different languages to communicate via standards such as gRPC and Protobuf. It further enables the exposure of backend microservices as REST endpoints using the Triple protocol for

    Javadubbo
    Voir sur GitHub↗5,389
  • netflix/eurekaAvatar de Netflix

    Netflix/eureka

    12,712Voir sur GitHub↗

    Eureka is a service registry and discovery server that serves as a coordination tool for microservices. It provides a distributed service registry where instances record their network locations and health status to enable dynamic communication without the use of hardcoded addresses. The system functions as a client-side load balancing framework, providing location data to consumers so they can distribute network traffic across available instances. It employs a heartbeat-based health monitor to track instance availability and automatically removes unresponsive nodes from the registry to manage

    Java
    Voir sur GitHub↗12,712
Voir les 30 alternatives à Guide Rpc Framework→

Questions fréquentes

Que fait snailclimb/guide-rpc-framework ?

Il s'agit d'un framework d'appel de procédure à distance (RPC) construit sur Netty pour la communication asynchrone entre services distribués. Il fournit l'infrastructure nécessaire pour exécuter des appels de procédure à distance sur un réseau, permettant aux clients et serveurs d'interagir sans blocage.

Quelles sont les fonctionnalités principales de snailclimb/guide-rpc-framework ?

Les fonctionnalités principales de snailclimb/guide-rpc-framework sont : Remote Procedure Calls, Complex Data Serialization, Data Serialization Formats, Serialization Libraries, Service Instance Registrations, Binary Serialization, Netty-Based Servers, RPC Frameworks.

Quelles sont les alternatives open-source à snailclimb/guide-rpc-framework ?

Les alternatives open-source à snailclimb/guide-rpc-framework incluent : apache/dubbo — Dubbo is a Java RPC framework and microservices governance platform designed for high-performance remote procedure… doocs/advanced-java — This project is a comprehensive Java backend engineering guide and technical reference focused on high-concurrency… apache/dubbo-spring-boot-project — This project is an integration framework that bootstraps Apache Dubbo remote procedure call services within Spring… netflix/eureka — Eureka is a service registry and discovery server that serves as a coordination tool for microservices. It provides a… apache/brpc — brpc is a high-performance C++ RPC framework and network programming library designed for building distributed… neuecc/magiconion — MagicOnion is a remote procedure call framework for the .NET platform and Unity. It functions as a binary API protocol…