微服务架构下的快速交付、灵活部署等优势使得 Dubbo 协议已成为了当今互联网基础建设里的一大热点。
Dubbo 协议是一款由阿里巴巴开发并开源的一款高性能 Java RPC 框架,凭借着高效的远程调用、服务注册与发现、灵活的配置等特点,在微服务后端开发场景中十分流行。
虽然有着许多优势,但是 Dubbo 接口的调试过程并不容易。此前并没有一款专业好用的 Dubbo 接口调试工具,许多 Java 后端开发者不得不在开发环境中,直接以编写代码的方式调试接口,数据反馈链路较长。
虽然这种调试方式对于能够完成自闭环的程序员而言确实不会出现过多的问题,但是一旦到了多人共同协作场景(开发+测试人员),这种高门槛的调试模式将会让验收周期变得十分漫长。
Apifox 近期更新的 Dubbo 项目功能让 Java 团队的协作变得不再困难,已支持已在业界中广泛使用的 「Dubbo 网络传输协议」 + 「Hessian 序列化格式」 组合模式。
本文将以从 ZooKeeper 导入 Dubbo 接口为例,通过以下简单的三步即可在 Apifox 中导入 Dubbo 接口并开展调试工作!
导入 Dubbo 接口
首先在 Apifox 团队首页中创建 Dubbo 项目。
在导入接口页选择 ZooKeeper 类型,根据页面指引,填写连接地址及端口号。若注册中心配置了鉴权机制,请点击右侧齿轮按钮并填写用户名和密码。
选择需要导入至 Apifox 的 Dubbo 应用,点击「保存并导入」按钮完成导入。
除了支持从 ZooKeeper 导入外,Apifox 还支持从 Nacos 和阿里云 EDAS 导入。
Apifox 作为客户端,仅支持导入 provider,不支持导入 consumer。因此导入 Dubbo 接口时须确保将应用的 provider 的元数据上传到 ZooKeeper 或 Nacos 中,以便接口能够正确导入至 Apifox。
从 ZooKeeper 导入成功后,你可以在左侧目录树看到由 Package、服务和方法这三个层级所展开的 Dubbo 接口。
以 demo/com.dubbo.example.DemoService:1.0.1 接口为例,接口的各层级对照图如下:
调试 Dubbo 接口
接口请求和调试的目标地址为注册中心。
注册中心是管理和维护 Dubbo 服务接口的信息的核心组件。当一个 Dubbo 服务提供者(服务端)启动时,它会向注册中心提供的服务接口信息,包括服务名称、IP 地址、端口号、以及其他元数据,其它服务消费者(客户端)都可以通过注册中心发现并调用 Dubbo 接口。并且注册中心还支持动态负载均衡,提供服务治理和监控服务等功能,帮助及时发现和解决问题。
针对从 ZooKeeper 导入的接口,Apifox 将自动在环境管理中添加注册中心地址,项目内的其它 Dubbo 接口也将会默认使用该地址。
配置完成后,点击「调用」按钮,即可得到接口的返回结果。
创建 Dubbo 接口文档
在开发团队中管理多个 Dubbo 接口的有效方式之一就是编写详尽的接口文档。一份清晰的文档有利于团队内开发者之间的相互协作,有效避免消费者和提供者对接口参数产生分歧而导致的调用错误,提升团队整体的 Dubbo 接口协作效率。
从 ZooKeeper 导入 Apifox 的 Dubbo 接口支持自动生成接口文档。随着后期开发工作的展开,接口文档的内容也将随之更新。此时可以点击 Dubbo 接口中的“接口定义” 进行设置,为接口文档调整「请求」和「响应」。
添加请求定义、响应定义和接口说明后,你可以点击「文档预览」 Tab 按钮查看 Dubbo 接口文档。点击右侧的「超链接」icon 还可以直接获取分享链接。其它成员打开后便可以直观的看到当前的 Dubbo 接口详情。
Apifox 作为先进的 API 设计/开发/测试工具,不断兼容市面上流行的 API 协议,让开发人员不必再为某个 API 协议而苦苦寻找接口调试工具。
除了 Dubbo 协议以外,Apifox 还支持常见的 Rest API、gRPC、WebSocket 等协议,更多详情请参考:盘点开发者最常用的 API 协议,Apifox 全都支持!
可以说,光依靠 Apifox 一个工具就可以解决 API 开发 → 调试 → 管理问题,让更多的中国开发团队也能够体验到一流的一站式 API 管理方案。