Apache dubbo

Clone this repo:
  1. 0ec1759 Merge pull request #84 from Similarityoung/add_mcp_test by Xin.Zh · 4 days ago main
  2. 1481224 Merge pull request #83 from Similarityoung/fix_integrate_test by Xin.Zh · 4 days ago
  3. e045f81 Merge pull request #85 from Alanxtl/fix_prometheus by Xin.Zh · 5 days ago
  4. 013ee93 fix: update configuration and improve test metrics handling by Alanxtl · 6 days ago
  5. c8de2fa feat: add Pixiu with MCP samples by Young · 11 days ago

Dubbo-go-pixiu Samples

CI

samples for dubbo-go-pixiu

中文 🇨🇳

What It Contains

  • dubbogo/simple: this directory contains some simple samples for dubbogo and pixiu

    • dubbogo/simple/bestdo: include jaeger and http to dubbo
    • dubbogo/simple/body: http to dubbo with api_config.yaml
    • dubbogo/simple/csrf: csrf protection
    • dubbogo/simple/direct: http to dubbo with direct generic call
    • dubbogo/simple/nacos_farconf: pixiu uses nacos as a remote config center
    • dubbogo/simple/jaeger: pixiu with jaeger
    • dubbogo/simple/jwt: jwt authentication
    • dubbogo/simple/nacos: http to dubbo with nacos registry
    • dubbogo/simple/prometheus: pixiu with prometheus
    • dubbogo/simple/dubboproxy: dubbo to http transform and http to dubbo transform
    • dubbogo/simple/resolve: convert http requests to dubbo requests, following the default http to dubbo conversion rules
    • dubbogo/simple/traffic: traffic splitting and canary release
    • dubbogo/simple/triple: http to triple
    • dubbogo/simple/zookeeper: pixiu with dubbo using zookeeper as registry center
  • dubbohttpproxy: dubbo to http transform and http to dubbo transform

  • dubbotripleproxy: example of inter-conversion of dubbo and triple protocol requests

  • grpc: grpc proxy

  • http/grpc: convert http requests to grpc requests, support configuring proto files or dynamically obtaining proto information from a grpc server with reflection enabled.

  • http/simple: this directory contains common Http request proxying features that serve as common API gateways

  • llm: simple sample for pixiu to call llm

  • plugins: this directory contains some plugins for pixiu

    • plugins/ratelimit: rate limit plugin for pixiu
  • seata: this demonstrates how to configure the Seata filter to interact with the Seata TC for distributed transaction coordination.

  • shutdown: this directory demonstrates how to gracefully shut down

    • shutdown/dubbo: this demonstrates how to gracefully shut down the Pixiu server with dubbo listener.
    • shutdown/http: this demonstrates how to gracefully shut down the Pixiu server with http listener.
    • shutdown/http2: this demonstrates how to gracefully shut down the Pixiu server with http2 listener.
    • shutdown/triple: this demonstrates how to gracefully shut down the Pixiu server with triple listener.
  • springcloud: Http proxy function, get cluster information from spring cloud service registry, dynamic management of cluster and route function

  • xds: pixiu with xds

How To Run

Please refer How To Run for the instructions.

Dubbo-go-pixiu ecosystem other projects

  • pixiu-admin Dubbo-go-pixiu Admin is a comprehensive management platform for the dubbo-go-pixiu Gateway. It provides a centralized control panel for configuring, monitoring, and managing gateway resources through both a web-based user interface and RESTful APIs.
  • pixiu-api Dubbo-go-pixiu API is a gateway framework that serves as the API configuration model for the dubbo-go-pixiu ecosystem. It provides a set of APIs and configuration models to build, configure, and extend API gateway functionality for microservices, with a particular focus on integration with Dubbo services.
  • benchmark The benchmark system allows users to measure and analyze key performance metrics such as latency, throughput, and Queries Per Second (QPS) under various load conditions to evaluate the efficiency of the protocol conversion process.

How to contribute

If you want to add more samples, pls. read on:

  1. Create new sub directory and give it an appropriate name for your new sample. Pls follow the layout of the existing sample if you are not sure how to organize your code.
  2. Make sure your sample work as expected before submit PR, and make sure GitHub CI passes after PR is submitted. Pls refer to the existing sample on how to test the sample.
  3. Pls provide README.md to explain your samples.