awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Snailclimb avatar

Snailclimb/guide-rpc-framework

0
View on GitHub↗
4,416 星标·2,165 分支·Java·15 次浏览gitee.com/SnailClimb/guide-rpc-framework↗

Guide Rpc Framework

这是一个基于 Netty 构建的远程过程调用(RPC)框架,用于分布式服务之间的异步通信。它提供了跨网络执行远程过程调用所需的基础设施,允许客户端和服务器在不阻塞的情况下进行交互。

该框架利用 Zookeeper 进行服务注册和动态发现,确保服务提供者可以在运行时自动定位。它包含一个服务版本管理器,用于组织和跟踪服务接口的不同迭代,从而实现多个版本的并行部署。

该系统通过 Kryo 实现二进制序列化,将 Java 对象转换为紧凑的字节流进行网络传输。它还结合了一个分布式负载均衡器,使用随机或轮询策略在提供者之间路由请求,并使用基于心跳的监控来跟踪服务可用性和连接健康状况。

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.

Star 历史

snailclimb/guide-rpc-framework 的 Star 历史图表snailclimb/guide-rpc-framework 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

常见问题解答

snailclimb/guide-rpc-framework 是做什么的?

这是一个基于 Netty 构建的远程过程调用(RPC)框架,用于分布式服务之间的异步通信。它提供了跨网络执行远程过程调用所需的基础设施,允许客户端和服务器在不阻塞的情况下进行交互。

snailclimb/guide-rpc-framework 的主要功能有哪些?

snailclimb/guide-rpc-framework 的主要功能包括:Remote Procedure Calls, Complex Data Serialization, Data Serialization Formats, Serialization Libraries, Service Instance Registrations, Binary Serialization, Netty-Based Servers, RPC Frameworks。

snailclimb/guide-rpc-framework 有哪些开源替代品?

snailclimb/guide-rpc-framework 的开源替代品包括: 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…

Guide Rpc Framework 的开源替代方案

相似的开源项目,按与 Guide Rpc Framework 的功能重合度排序。
  • apache/dubboapache 的头像

    apache/dubbo

    41,519在 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
    在 GitHub 上查看↗41,519
  • doocs/advanced-javadoocs 的头像

    doocs/advanced-java

    78,987在 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
    在 GitHub 上查看↗78,987
  • apache/dubbo-spring-boot-projectapache 的头像

    apache/dubbo-spring-boot-project

    5,389在 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
    在 GitHub 上查看↗5,389
  • netflix/eurekaNetflix 的头像

    Netflix/eureka

    12,712在 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
    在 GitHub 上查看↗12,712
  • 查看 Guide Rpc Framework 的所有 30 个替代方案→