# apache/shenyu

**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/apache-shenyu).**

8,794 stars · 3,047 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/apache/shenyu
- awesome-repositories: https://awesome-repositories.com/repository/apache-shenyu.md

## Description

Shenyu is a microservices API gateway designed to route external traffic to backend services using dynamic rules and protocol conversion. It functions as a central entry point that manages traffic flow through a combination of an API traffic governor, a distributed configuration manager, and a security layer for protecting endpoints.

The project features a dynamic plugin architecture that allows for the injection of custom request processing logic without restarting the server. It utilizes a distributed coordination service to synchronize routing and policy updates across a gateway cluster in real time.

The gateway covers broad capability areas including traffic governance via rate limiting and circuit breaking, and security integration through token-based authorization and digital signature verification. It also provides observability through integrated tracing, metrics collection, and system health monitoring.

## Tags

### DevOps & Infrastructure

- [Microservice Traffic Management](https://awesome-repositories.com/f/devops-infrastructure/microservice-traffic-management.md) — Routes external API traffic to backend microservices using dynamic rules and protocol conversion. ([source](https://cdn.jsdelivr.net/gh/apache/shenyu@main/README.md))
- [Plugin-Extensible Runtimes](https://awesome-repositories.com/f/devops-infrastructure/release-automation/plugin-extensibility/plugin-extensible-runtimes.md) — Features a plugin-extensible runtime that allows injecting custom logic into the request chain without restarts. ([source](https://cdn.jsdelivr.net/gh/apache/shenyu@main/README.md))
- [Routing Cache Synchronization](https://awesome-repositories.com/f/devops-infrastructure/cluster-configuration-management/cross-cluster-configuration-sync/routing-cache-synchronization.md) — Implements real-time synchronization of routing caches across a distributed gateway cluster.
- [Distributed Configuration Management](https://awesome-repositories.com/f/devops-infrastructure/distributed-configuration-management.md) — Provides a distributed configuration management system to push policy and routing updates across the cluster.
- [Gateway Sidecars](https://awesome-repositories.com/f/devops-infrastructure/gateway-sidecars.md) — Acts as a sidecar-compatible entry point for microservices to decouple security and traffic logic.

### Networking & Communication

- [API Gateway](https://awesome-repositories.com/f/networking-communication/proxy-protocols/protocol-translation/api-gateway.md) — Functions as a high-performance microservices API gateway providing protocol translation and dynamic routing.
- [API Gateway Configurations](https://awesome-repositories.com/f/networking-communication/api-integration-frameworks/api-management-integration/api-gateways/api-gateway-configurations.md) — Provides interfaces for real-time definition and update of routing and security policies via a dashboard.
- [Routing Rules](https://awesome-repositories.com/f/networking-communication/routing-rules.md) — Provides dynamic routing rules to direct incoming requests to the appropriate backend microservices.
- [Request Interceptors](https://awesome-repositories.com/f/networking-communication/traffic-interception-tools/request-interceptors.md) — Ships request interceptors to implement essential traffic governance like rate limiting and circuit breaking.
- [Configuration Synchronization Services](https://awesome-repositories.com/f/networking-communication/configuration-synchronization-services.md) — Utilizes a configuration synchronization service to maintain global routing and policy updates across the cluster. ([source](https://cdn.jsdelivr.net/gh/apache/shenyu@main/README.md))
- [Traffic Routing Dashboards](https://awesome-repositories.com/f/networking-communication/network-traffic-routing/traffic-routing-dashboards.md) — Includes a visual dashboard for managing and updating routing rules and user permissions in real time. ([source](https://cdn.jsdelivr.net/gh/apache/shenyu@main/README.md))

### Development Tools & Productivity

- [Request Processing Plugins](https://awesome-repositories.com/f/development-tools-productivity/plugin-systems/custom-plugin-registrations/request-processing-plugins.md) — Provides a modular plugin chain to process and modify incoming HTTP requests and responses.

### Security & Cryptography

- [API Access Security](https://awesome-repositories.com/f/security-cryptography/api-access-security.md) — Provides security for API endpoints through digital signature verification and token-based authorization. ([source](https://cdn.jsdelivr.net/gh/apache/shenyu@main/README.md))
- [API Gateway Security](https://awesome-repositories.com/f/security-cryptography/api-gateway-security.md) — Implements a centralized security layer at the gateway to enforce token-based authorization and signature verification.
- [Microservices Security](https://awesome-repositories.com/f/security-cryptography/microservices-security.md) — Integrates microservices security by verifying digital signatures and tokens to authorize backend access.
- [Traffic Governance](https://awesome-repositories.com/f/security-cryptography/request-rate-limiting/traffic-governance.md) — Implements rate limiting and circuit breaking to protect backend services from overloading during traffic spikes. ([source](https://cdn.jsdelivr.net/gh/apache/shenyu@main/README.md))

### Software Engineering & Architecture

- [Dynamic Plugin Extensions](https://awesome-repositories.com/f/software-engineering-architecture/api-gateways/dynamic-plugin-extensions.md) — Allows adding custom request processing logic through dynamically loaded plugins without interrupting service availability.
- [Plugin Architectures](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures.md) — Employs a plugin architecture for the dynamic loading of components to extend core request processing logic.
- [Traffic Flow Control](https://awesome-repositories.com/f/software-engineering-architecture/traffic-flow-control.md) — Provides traffic flow control through rate limiting and circuit breaking to protect backend services.

### System Administration & Monitoring

- [Multi-Protocol Proxies](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/proxy-management-systems/multi-protocol-proxy-managers/multi-protocol-proxies.md) — Supports multi-protocol proxying to translate incoming requests into various backend communication standards.
- [Cluster Monitoring Systems](https://awesome-repositories.com/f/system-administration-monitoring/monitoring-and-observability/observability-platforms/metric-performance-monitors/cluster-monitoring-systems.md) — Tracks performance and health across the gateway cluster using integrated metrics and distributed tracing.
- [System Health Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/observability-instrumentation/system-health-monitoring.md) — Monitors system health and production stability using integrated logging, metrics collection, and tracing. ([source](https://cdn.jsdelivr.net/gh/apache/shenyu@main/README.md))

### Web Development

- [API Traffic Governance](https://awesome-repositories.com/f/web-development/api-traffic-governance.md) — Provides a set of controls for rate limiting and circuit breaking to maintain microservice stability.

### Part of an Awesome List

- [API Gateways](https://awesome-repositories.com/f/awesome-lists/devtools/api-gateways.md) — Java-native gateway for protocol conversion and service proxying.
