操作场景
Dubbo 作为一款传统基于 SDK 的 Java RPC 框架,通过引入 jar 包的方式实现服务间远程方法调用、服务注册发现及服务治理。Dubbo 开发的应用在不修改任何业务代码的前提下,可以通过简单的 Mesh 封包部署到 TSF 平台,可透明实现服务注册发现和无侵入的服务治理能力。
本文档以 Dubbo Mesh Demo 为例介绍 Dubbo 应用在 TSF 平台接入 Mesh 的操作方案及相关注意事项。
前提条件
操作步骤
步骤1:安装 Maven 环境
步骤2:配置 spec.yaml 服务注册文件
Dubbo Mesh Demo 中提供了三个 Dubbo 应用,以 greet 应用为例,其 spec.yaml 配置为:
apiVersion: v1kind: Applicationspec:services:- name: org.apache.dubbo.samples.api.GreetingService # 需要注册的 Dubbo 服务名,必须跟提供的 interface 名保持一致ports:- targetPort: 20881 # 该 Dubbo 服务监听的端口protocol: dubbo # 协议指定为 DubbohealthCheck:path:
说明
部署到 TSF 平台后,Mesh 的 sidecar 解析 Dubbo 应用的 spec.yaml,根据服务名、监听端口、协议等信息自动注册服务到注册中心。
屏蔽 greet 应用原注册中心(可选):
<dubbo:registry address="N/A" subscribe="false" register="false"/>
说明
此处也可保留原注册中心,实现 Dubbo 服务双注册。
步骤3:编译打包
Dubbo Mesh Demo 中每个应用都提供了
build.sh
脚本用于构建部署在 TSF 上的 Mesh 程序包,执行./build.sh
将在当前目录下生成对应的tar.gz
包,该包可直接部署在 TSF 上,以 greet 应用为例,生成的程序包为dubbo-greet.tar.gz
,文件目录包括:dubbo-samples-greetservice-1.0.jar: Maven 构建的 FATJAR 包
start.sh
stop.sh
cmdline
spec.yaml
Dubbo 兼容说明
TSF Mesh 为 Dubbo 应用提供服务间通信、服务注册发现、负载均衡、服务路由、服务熔断、服务鉴权和服务限流等治理能力。
Dubbo 应用可以保留原有的注册方式。
Dubbo 应用可以继续使用原有的 filter 机制。