MCPcopy Index your code
hub / github.com/aeraki-mesh/dubbo2istio

github.com/aeraki-mesh/dubbo2istio @1.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.0.0 ↗ · + Follow
179 symbols 488 edges 27 files 107 documented · 60% updated 3y ago★ 375 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

CI Tests CI Tests CI Tests

Dubbo2Istio

Dubbo2istio 将 Dubbo 服务注册表中的 Dubbo 服务自动同步到 Istio 服务网格中,目前已经支持 ZooKeeper,Nacos 和 Etcd。

Aeraki 根据 Dubbo 服务信息和用户设置的路由规则生成数据面相关的配置,通过 Istio 下发给数据面 Envoy 中的 Dubbo proxy。

如下图所示, Aeraki + Dubbo2istio 可以协助您将 Dubbo 应用迁移到 Istio 服务网格中, 享用到服务网格提供的高级流量管理、可见性、安全等能力,而这些无需改动一行 Dubbo 源代码。

 dubbo2istio

Demo 应用

Aeraki 提供了一个 Dubbo Demo 应用,用于使用该 Demo 来测试 Dubbo 应用的流量控制、metrics 指标采集和权限控制等微服务治理功能。 * Demo k8s 部署文件下载 * Demo Dubbo 程序源码下载

备注:该 Demo 应用基于开源 Istio + Aeraki 运行,也可以在开通了 Dubbo 服务支持的 腾讯云 TCM (Tencent Cloud Mesh) 托管服务网格上运行。

Demo 安装以及 Dubbo 流量管理参见 aeraki 官网教程:https://www.aeraki.net/zh/docs/v1.0/tutorials

一些限制

  • 多集群环境下,同一个 dubbo service 的多个 provider 实例需要部署在相同的 namesapce 中。 该限制的原因是 aeraki 采用了 dubbo interface 作为全局唯一的服务名,客户端使用该服务名作为 dns 名对服务端进行访问。 而在 Istio 中,一个服务必须隶属于一个 namespace,因此我们在进行多集群部署时,同一个 dubbo service 的多个实例不能存在于不同的 namespace 中。 如果违反了该部署限制,会导致客户端跨 namespace 访问服务器端实例时由于 mtls 证书验证失败而出错。

Core symbols most depended-on inside this repo

Shape

Function 143
Method 24
Struct 12

Languages

Go100%

Modules by API surface

test/e2e/util/kube_utils.go59 symbols
test/e2e/util/common_utils.go21 symbols
pkg/dubbo/etcd/controller.go10 symbols
pkg/dubbo/common/serviceentry.go9 symbols
pkg/dubbo/common/conversion.go8 symbols
pkg/dubbo/etcd/connHandler.go6 symbols
test/e2e/zk/zk_test.go5 symbols
test/e2e/util/retry.go5 symbols
test/e2e/nacos/nacos_test.go5 symbols
test/e2e/etcd/etcd_test.go5 symbols
pkg/dubbo/zk/watcher/service.go5 symbols
pkg/dubbo/zk/watcher/provider.go5 symbols

For agents

$ claude mcp add dubbo2istio \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page