English | 中文
A collection of runnable Dubbo-go examples covering configuration, registries, observability, interoperability, service mesh, and more.
async: Callback (asynchronous) and one-way RPC examples.apisix: Example integrating Apache APISIX with Dubbo-go.book-flight-ai-agent: Example of booking flights using an AI agent.config_center: Demonstrates how to use different config centers (e.g., Nacos, Zookeeper) for configuration management.config_yaml: Shows how to configure Dubbo-go applications using YAML files.context: Demonstrates passing user data (attachments) via Go context between client and server.error: Error-handling examples in Dubbo-go.filter: Demonstrates the use of built-in and custom filters in Dubbo-go.polaris/limit: Uses Polaris as a TPS limiter.healthcheck: Service health check example.helloworld: Basic “Hello World” example for Dubbo-go, also includes Go–Java interoperability.http3: HTTP/3 (QUIC) protocol support example demonstrating how to use Triple protocol with HTTP/3 for high-performance communication between Go and Java services with TLS encryption.direct: Triple point-to-point invocation sample without a registry, also includes Go–Java interoperability.game: Game service example.generic: Generic invocation examples supporting interoperability between Dubbo-Go and Dubbo Java services, suitable for scenarios without interface information.integrate_test: Integration test cases for Dubbo-go samples.java_interop: Demonstrates interoperability between Java and Go Dubbo implementations.llm: Example of integrating Large Language Models (LLMs) with Dubbo-go.logger: Logging examples for Dubbo-go applications.metrics: Shows how to collect and expose metrics from Dubbo-go services, supporting both Prometheus Push and Pull modes. Also includes the pgw-cleaner tool for cleaning zombie metrics in Push mode.mesh: Proxy-based service mesh example showing how to deploy Dubbo-go services with Envoy on Kubernetes.online_boutique: Microservices “online boutique” demo built with Dubbo-go.otel/tracing: Distributed tracing examples using OpenTelemetry.stdout: Uses stdout exporter to export tracing data.otlp_http_exporter: Uses otlpHttpExporter to export tracing data, covering dubbo/triple/jsonrpc protocols.registry: Examples of using different service registries (e.g., Nacos, Zookeeper).retry: Demonstrates retry mechanisms in Dubbo-go RPC calls.rpc: Various RPC protocol examples with Dubbo-go.rpc/dubbo: Dubbo protocol example, including Java–Go interop.rpc/grpc: gRPC protocol example.rpc/jsonrpc: JSON-RPC protocol example.rpc/triple: Triple protocol example with multiple serialization formats.streaming: Streaming RPC example, also includes Go–Java interoperability when both use streaming.task: Task scheduling and execution example.timeout: Demonstrates timeout handling in Dubbo-go.tls: Demonstrates how to use TLS (based on X.509 certificates) in Dubbo-go to enable encrypted communication and/or mutual authentication between client and server, also includes Go–Java interoperability.transaction/seata-go: Distributed transaction example using seata-go.compatibility/generic: Generic invocation example.compatibility/polaris: Dubbo-go integrate with polaris samples.compatibility/polaris/router: Quickly experience Polaris' service routing capabilities in dubbogopgw-cleaner: Operations and maintenance tool for cleaning up zombie metrics in Prometheus Push mode.Please refer to HOWTO.md for detailed instructions on running the samples.
If you want to add more samples, please follow these steps:
README.md in your sample directory to explain what your sample does and how to run it.