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
nghttp2 is a suite of low-level C libraries and tools designed for implementing the HTTP/2 protocol. It provides a memory-efficient implementation of the protocol's core logic, including framing, stream multiplexing, and flow control. The project includes a dedicated library for HPACK header compression and decompression to reduce network bandwidth. It also provides a toolset for analyzing network traffic and benchmarking server performance, including throughput and latency measurements. Its broader capabilities cover protocol implementation and traffic management, including ALPN connection
Thrift is a cross-language remote procedure call framework and data serialization protocol. It provides an interface definition language to specify data types and service interfaces in a neutral format, enabling the automated generation of client and server code across multiple programming languages. The project functions as a polyglot service communicator using a layered software stack to ensure interoperable communication. It focuses on implementing cross-language remote procedure calls and transforming complex data structures into standardized formats for efficient network transport. The
tarpc is a remote procedure call framework for Rust that generates server traits and client stubs for network communication. It provides an asynchronous service interface that allows remote functions to be called as if they were local asynchronous tasks. The framework utilizes a serialized transport layer to move request and response data via TCP sockets, Unix domain sockets, or in-process channels. It includes a request lifecycle interceptor for injecting custom logic to handle authorization, throttling, and load balancing, as well as a distributed request telemetry system that attaches dead
go-plugin is a framework for implementing plugin architectures where extensions run as separate processes and communicate via a Go RPC plugin system. It functions as an inter-process communication library and lifecycle manager that allows host applications to discover, launch, and monitor external binary plugins.
The main features of hashicorp/go-plugin are: Process-Isolated Plugins, RPC-Based Plugin Systems, Plugin Lifecycle Management, Plugin Orchestration, Multi-Language Plugin Frameworks, Bidirectional RPC Bridges, Interface Passing, Cross-Language RPC Frameworks.
Open-source alternatives to hashicorp/go-plugin include: apache/dubbo-spring-boot-project — This project is an integration framework that bootstraps Apache Dubbo remote procedure call services within Spring… nghttp2/nghttp2 — nghttp2 is a suite of low-level C libraries and tools designed for implementing the HTTP/2 protocol. It provides a… apache/thrift — Thrift is a cross-language remote procedure call framework and data serialization protocol. It provides an interface… google/tarpc — tarpc is a remote procedure call framework for Rust that generates server traits and client stubs for network… weibocom/motan — Motan is a cross-language RPC framework and distributed service mesh designed for building high-performance… geniusvjr/learningnotes — LearningNotes is a technical knowledge base and engineering study guide focused on Android framework internals, system…