Repolode
apache

apache/shenyu

서비스 프록시, 프로토콜 변환, API 거버넌스를 지원하며 플러그인 체인과 중앙 Admin 콘솔을 갖춘 Java 기반 API 게이트웨이입니다.

대체할 수 있는 제품:KongAWS API Gateway

스타
8,912
포크
3,111
열린 이슈
353
마지막 커밋
20시간 전

어떤 프로젝트인가요?

Apache ShenYu는 Java로 작성된 API 게이트웨이입니다. 요청은 순서가 지정된 플러그인 체인을 거치며, ShenYu Admin은 플러그인, 셀렉터, 규칙, 메타데이터를 저장하고 게이트웨이 복제본에 설정을 푸시합니다. Admin 콘솔에서는 설정을 중앙에서 관리하고, 게이트웨이 인스턴스는 업데이트를 로컬 캐시에 반영합니다.

게이트웨이는 HTTP 및 Spring Cloud 서비스, WebSocket 연결, Apache Dubbo 및 gRPC 백엔드를 프록시합니다. 로드 밸런싱, 속도 제한, Resilience4j와 Sentinel을 통한 장애 대응 같은 트래픽 제어 기능뿐 아니라 WAF, 서명, 인증, 캐싱, URL 재작성 기능도 제공합니다. 최근에는 AI 프록시, 토큰 제한, MCP 서버 플러그인도 추가됐습니다.

서비스 클라이언트는 주소와 API 메타데이터를 Admin에 등록하며, 선택적으로 Kubernetes 컨트롤러를 사용해 Ingress 및 Endpoints 리소스를 조정할 수 있습니다. 설정 동기화는 기본적으로 WebSocket을 지원하며, HTTP 롱 폴링, ZooKeeper, Nacos, etcd도 사용할 수 있습니다. 빠르게 시작할 수 있도록 Docker 이미지도 제공합니다.

핵심 기능

  • 01사용자 지정 Java 플러그인과 WASM 플러그인 API를 지원하는 순서 기반 플러그인 체인
  • 02HTTP, Spring Cloud, Dubbo, gRPC, WebSocket 업스트림 프록시
  • 03Resilience4j와 Sentinel을 통한 로드 밸런싱, 속도 제한, 장애 대응
  • 04게이트웨이 복제본과 설정을 동기화하는 중앙 Admin 콘솔
  • 05Kafka 및 Elasticsearch 대상으로 로그와 메트릭을 전송하는 플러그인

활용 사례

  • HTTP, Dubbo, gRPC가 혼재된 마이크로서비스 앞에 단일 진입점 구성
  • 공개 API에 인증, WAF 규칙, 속도 제한 적용
  • 토큰 제한과 콘텐츠 필터링으로 LLM 공급자 호출을 프록시하고 관리
  • Ingress 리소스를 조정하는 Kubernetes 기반 게이트웨이 운영

빠른 시작

  1. 1

    Docker 네트워크를 생성합니다

    docker network create shenyu
  2. 2

    README에 나온 대로 시크릿을 생성하고 Admin, demo, gateway 컨테이너를 시작합니다

  3. 3

    README에 나온 대로 gateway에 샘플 라우트를 구성합니다

  4. 4

    gateway를 통해 라우트를 확인합니다

    curl -i http://localhost:9195/index.html

사용 전 알아둘 점

  • Docker 빠른 시작은 기본적으로 인메모리 H2 데이터베이스를 사용하므로 라우트를 지속적으로 유지하려면 영구 데이터베이스가 필요합니다.
  • SOFA와 Tars는 더 이상 번들에 포함되지 않으므로 별도의 plugin-store 스타터가 필요합니다.
  • Apollo는 더 이상 사용되지 않으며 Hystrix도 더 이상 사용되지 않으므로 새 프로젝트에서는 둘 다 피해야 합니다.

포함된 컬렉션

토픽

자주 묻는 질문

shenyu은(는) 무엇인가요?
서비스 프록시, 프로토콜 변환, API 거버넌스를 지원하며 플러그인 체인과 중앙 Admin 콘솔을 갖춘 Java 기반 API 게이트웨이입니다. Apache ShenYu는 Java로 작성된 API 게이트웨이입니다. 요청은 순서가 지정된 플러그인 체인을 거치며, ShenYu Admin은 플러그인, 셀렉터, 규칙, 메타데이터를 저장하고 게이트웨이 복제본에 설정을 푸시합니다. Admin 콘솔에서는 설정을 중앙에서 관리하고, 게이트웨이 인스턴스는 업데이트를 로컬 캐시에 반영합니다.
shenyu은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
shenyu은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
shenyu은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. shenyu의 마지막 커밋은 2026년 11월 6일입니다.
shenyu은(는) 어디에 사용할 수 있나요?
HTTP, Dubbo, gRPC가 혼재된 마이크로서비스 앞에 단일 진입점 구성 공개 API에 인증, WAF 규칙, 속도 제한 적용 토큰 제한과 콘텐츠 필터링으로 LLM 공급자 호출을 프록시하고 관리 Ingress 리소스를 조정하는 Kubernetes 기반 게이트웨이 운영
shenyu는 어떻게 설치하나요?
Docker 네트워크를 생성합니다: docker network create shenyu README에 나온 대로 시크릿을 생성하고 Admin, demo, gateway 컨테이너를 시작합니다 README에 나온 대로 gateway에 샘플 라우트를 구성합니다 gateway를 통해 라우트를 확인합니다: curl -i http://localhost:9195/index.html
shenyu은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/apache/shenyu

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트