Apache Dubbo-go 架起 Java 和 go 之间的桥梁

Apache Dubbo Go 语言实现,架起 java 和 go 之间的桥梁,与 gRPC / Spring Cloud 生态互联互通,带领 Java 生态享受云原生时代的技术红利。

工程架构

基于 dubbo 的 extension 模块和分层的代码设计(包括 protocol layer, registry layer, cluster layer, config 等等)。我们的目标是:你可以对这些分层接口进行新的实现,并通过调用 extension 模块的 extension.SetXXX 方法来覆盖 dubbo-go (同 go-for-apache-dubbo)的默认实现,以完成自己的特殊需求而无需修改源代码。同时,欢迎你为社区贡献有用的拓展实现。

Apache Dubbo-go 架起 Java 和 go 之间的桥梁

关于详细设计请阅读 code layered design

功能列表

实现列表:

  • 角色端

    • Consumer
    • Provider

  • 传输协议

    • HTTP
    • TCP

  • 序列化协议

    • JsonRPC V2
    • Hessian V2
    • json for grpc
    • protobuf

  • 协议

    • Dubbo
    • Triple
    • Jsonrpc2.0
    • gRPC
    • RESTful

  • 路由器

    • Dubbo3统一路由规则

  • 注册中心

    • ZooKeeper
    • etcd v3
    • nacos
    • consul
    • k8s

  • 动态配置中心与服务治理配置器

    • Zookeeper
    • apollo
    • nacos

  • 集群策略

    • Failover
    • Failfast
    • Failsafe/Failback
    • Available
    • Broadcast
    • Forking

  • 负载均衡策略

    • Random
    • RoundRobin
    • LeastActive
    • ConsistentHash

  • 过滤器

    • Echo Health Check
    • 服务熔断&降级
    • TokenFilter
    • AccessLogFilter
    • TpsLimitFilter
    • ExecuteLimitFilter
    • GenericServiceFilter
    • Auth/Sign
    • Metrics filter
    • Tracing filter

  • 调用

    • 泛化调用

  • 监控

    • Opentracing API
    • Prometheus

  • Tracing

    • For jsonrpc
    • For dubbo
    • For grpc

  • 元数据中心

    • Nacos(Local)
    • Zookeeper(Local)
    • Etcd(Local)
    • Consul(Local)
    • Zookeeper(Remoting)

  • 工具箱

    • Dubbo-go-cli

你可以通过访问 roadmap 知道更多关于 dubbo-go 的信息。

Apache Dubbo-go 架起 Java 和 go 之间的桥梁

快速开始

dubbo-samples/golang 这个项目的事例展示了如何使用 dubbo-go 。请仔细阅读 dubbo-samples/golang/README.md 学习如何处理配置并编译程序。

github 地址:https://github.com/apache/dubbo-go

以上是 Apache Dubbo-go 架起 Java 和 go 之间的桥梁 的全部内容, 来源链接: utcz.com/p/233430.html

回到顶部