# 前提条件
- FizzGate集成平台v1.5.0或以上版本 (安装教程 (opens new window))
- Dubbo服务
- Dubbo的zookeeper注册中心
本文使用的dubbo服务样例:https://github.com/wehotel/fizz-examples/tree/master/fizz-examples-dubbo (opens new window)
本文后面使用的接口为findById, 接口会回显入参的ID和返回name字段,JSON如下:
{
"name": "call findById",
"id": "入参ID"
}
# 配置zookeeper地址
配置dubbo服务的注册中心zookeeper, 修改配置文件application.yml打到以下配置项,替换为实际的zookeeper地址
fizz-dubbo-client:
address: zookeeper://127.0.0.1:2181
# 服务和接口维护
Dubbo服务虽然注册到了服务注册中心,但上面只有服务实例的信息,不包含接口级别的信息,所以要把Dubbo服务的接口集中维护,方便在服务编排里多次调用。
进入FizzGate管理后台, 打开RPC管理 -> 服务管理, 点击新增填写服务名等信息。
打开RPC管理 -> 接口管理, 点击新增把你需要的接口录入到系统,没有用到的接口可以不录入
# 服务编排调用Dubbo接口
打开服务编排 -> 接口列表,新增一个接口,新增一个接口, 选择所属服务(如:func-test), 如果还没有服务可点击右边的新增服务按钮添加, 接口路径为/user/findById, 如图:
选择前面步骤录入的dubbo接口:
Dubbo方法参数的字段名格式为pN,如: 第一个参数为p1, 第二个参数为p2; 如果参数是一个对象且要指定对象里某一个属性的值可输入pN.[attrName], 如:p1.userId,, 关于参数的配置可参考文档:(服务编排-数据转换 (opens new window))
配置服务编排接口的输出:
保存接口
# 配置路由
打开网关管理 -> 路由管理, 点击新增配置以下路由
# 测试
回到服务编排的接口,点击测试. 填写Query参数id=666, 服务编排接口是透传了dubbo服务的findById的数据,得到以下结果:
# 发布
服务编排接口需要发布才可以对外提供服务,打开编排审核 -> 我的申请,新增一个发布申请,为了方便操作选择超级管理员为审核人
打开待审核列表,审核上一步的单子:
打开我的申请,点击申请单的查看操作:
发布接口:
# 访问正式接口
访问http://[网关IP]:8600/proxy/func-test/user/findById?id=666
结果: