# grpc-ecosystem/grpc-spring

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/grpc-ecosystem-grpc-spring).**

3,706 stars · 868 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/grpc-ecosystem/grpc-spring
- Homepage: https://grpc-ecosystem.github.io/grpc-spring/
- awesome-repositories: https://awesome-repositories.com/repository/grpc-ecosystem-grpc-spring.md

## Topics

`grpc` `grpc-framework` `grpc-java` `java` `spring` `spring-boot` `spring-boot-grpc` `spring-boot-starter` `spring-cloud`

## Description

grpc-spring is a framework for integrating gRPC servers and clients into Spring applications. It provides a suite of tools for managing the lifecycle of remote procedure call servers, automating client stub injection, and implementing request interception within a Java environment.

The project enables high-performance remote procedure call communication through annotation-driven service registration and automatic configuration of client stubs. It includes a specialized interceptor library for modifying requests and responses, as well as a telemetry tool for exporting performance metrics and distributed tracing data to monitoring systems.

The framework covers broader operational capabilities including dynamic service discovery for resolving remote addresses and the application of authentication and authorization policies to secure endpoints. It further manages the integration of gRPC traffic into the application context to support distributed system observability.

## Tags

### Networking & Communication

- [gRPC Microservices Integration](https://awesome-repositories.com/f/networking-communication/grpc-microservices-integration.md) — Integrates high-performance gRPC communication into Spring applications for distributed microservices.
- [Client Stub Management](https://awesome-repositories.com/f/networking-communication/polyglot-client-support/grpc-implementations/client-stub-management.md) — Simplifies remote API calls by configuring and injecting gRPC stubs as Spring beans.
- [gRPC Service Implementations](https://awesome-repositories.com/f/networking-communication/polyglot-client-support/grpc-implementations/grpc-service-implementations.md) — Automates the lifecycle and startup of gRPC servers and clients within the Spring application environment. ([source](https://grpc-ecosystem.github.io/grpc-spring/))
- [Client Configuration Automation](https://awesome-repositories.com/f/networking-communication/polyglot-client-support/grpc-implementations/grpc-service-implementations/client-configuration-automation.md) — Provides annotation-driven injection and automatic setup of gRPC client stubs and connections. ([source](https://grpc-ecosystem.github.io/grpc-spring/en))
- [RPC Servers](https://awesome-repositories.com/f/networking-communication/rpc-servers.md) — Manages the lifecycle and deployment of gRPC servers within a Java environment.
- [Registry-Based Service Discovery](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-systems-coordination/service-discovery-mechanisms/registry-based-service-discovery.md) — Enables resolution of remote gRPC service addresses by querying a dynamic service registry.
- [Dynamic Service Discovery](https://awesome-repositories.com/f/networking-communication/dynamic-service-discovery.md) — Implements real-time mapping of logical gRPC service names to physical network addresses using a discovery registry. ([source](https://cdn.jsdelivr.net/gh/grpc-ecosystem/grpc-spring@master/README.md))
- [gRPC Service Discovery](https://awesome-repositories.com/f/networking-communication/grpc-service-discovery.md) — Provides utilities for automatically locating and connecting to gRPC servers in dynamic environments.

### Artificial Intelligence & ML

- [gRPC Call Interception](https://awesome-repositories.com/f/artificial-intelligence-ml/grpc-call-interception.md) — Offers custom interception logic for modifying and monitoring gRPC requests and responses. ([source](https://cdn.jsdelivr.net/gh/grpc-ecosystem/grpc-spring@master/README.md))

### Development Tools & Productivity

- [gRPC Interceptor Libraries](https://awesome-repositories.com/f/development-tools-productivity/grpc-interceptor-libraries.md) — Supplies a suite of tools to intercept and modify gRPC requests and responses for logging and security.

### Security & Cryptography

- [gRPC Security](https://awesome-repositories.com/f/security-cryptography/grpc-security.md) — Integrates security frameworks to apply authentication and authorization policies to gRPC endpoints. ([source](https://cdn.jsdelivr.net/gh/grpc-ecosystem/grpc-spring@master/README.md))

### Software Engineering & Architecture

- [Dependency Injection Proxies](https://awesome-repositories.com/f/software-engineering-architecture/dependency-injection-proxies.md) — Automates the injection of gRPC client stubs into components using dynamic proxies and channel management.
- [Interceptor Middleware](https://awesome-repositories.com/f/software-engineering-architecture/interceptor-middleware.md) — Implements a pluggable middleware pipeline using interceptors to handle cross-cutting concerns for RPC calls.
- [Automatic Service Registrations](https://awesome-repositories.com/f/software-engineering-architecture/service-instance-managers/automatic-service-registrations.md) — Provides automated registration of gRPC services as Spring beans to manage server lifecycle and endpoint exposure.
- [Spring Boot Integrations](https://awesome-repositories.com/f/software-engineering-architecture/spring-boot-integrations.md) — Integrates the startup and shutdown of gRPC servers and channels with the Spring application context.

### Web Development

- [Stub Injectors](https://awesome-repositories.com/f/web-development/api-management-tools/api-development-management/api-client-implementations/grpc-service-implementations/stub-injectors.md) — Configures and injects gRPC client stubs as beans to simplify service-to-service communication.
- [Server Lifecycle Management](https://awesome-repositories.com/f/web-development/http-server-configuration/grpc-server-configurations/server-lifecycle-management.md) — Manages the startup and shutdown of high-performance gRPC servers using service annotations. ([source](https://cdn.jsdelivr.net/gh/grpc-ecosystem/grpc-spring@master/README.md))

### System Administration & Monitoring

- [Distributed Observability Systems](https://awesome-repositories.com/f/system-administration-monitoring/distributed-observability-systems.md) — Supports distributed observability by monitoring gRPC traffic through tracing and performance metrics.
- [Distributed Tracing Instrumentation](https://awesome-repositories.com/f/system-administration-monitoring/distributed-tracing-instrumentation.md) — Provides an instrumentation layer to export performance metrics and distributed tracing for gRPC.
- [Distributed Tracing](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/distributed-tracing-execution-analysis/distributed-tracing.md) — Provides instrumentation to track gRPC requests across service boundaries for distributed execution analysis. ([source](https://cdn.jsdelivr.net/gh/grpc-ecosystem/grpc-spring@master/README.md))
- [Server Metrics](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors/server-metrics.md) — Exposes internal gRPC server and client performance data and health metrics for observability. ([source](https://cdn.jsdelivr.net/gh/grpc-ecosystem/grpc-spring@master/README.md))
- [Telemetry Exporters](https://awesome-repositories.com/f/system-administration-monitoring/telemetry-exporters.md) — Provides hooks to collect and export gRPC performance metrics to external monitoring frameworks.
