使用 Dubbo 开发 Web 应用
文档编写中…
Dubbo3 HTTP 协议支持仍在建设中,目前最新的 3.3 开发分支已经有初版原型供体验。正式的生产可用版本预计会在 3.4/3.4 的某个正式版本发布。
以下是 Dubbo3 HTTP 协议与编程模式计划支持的几种业务场景:
- 调用 http 协议的微服务体系
- 发布 http 协议的服务
- 多协议发布,一个服务同时发布 http&dubbo 协议
调用 http 协议的微服务体系
一个典型的应用场景是 Dubbo 调用 Spring Cloud 开发的微服务体系。
不同体系的互通,最关键的两点便是地址格式与编码协议的兼容,只要 Dubbo 能自动发现 SpringCloud 体系的地址并能基于 HTTP 协议进行通信即可。Dubbo3 可以做到:
- 支持 SpringCloud 体系的服务发现地址格式
- 支持 HTTP+JSON 的数据传输格式
基于以上分析,当我们需要调用 Spring Cloud 体系的服务时,只需要在 Dubbo 侧编写标准的 Dubbo Reference 服务引用就可以。同时,为了简化开发工作,Dubbo 支持标准的 Spring Web 注解,因此,如果你可以直接在 Dubbo 中复用 Spring Cloud 中的接口定义:
Spring Cloud 侧的服务定义:
interface SpringCloudRestService {
//xxx
}
在 Dubbo 侧唯一要做的工作就是定义 Dubbo Reference:
@DubboReference
private SpringCloudRestService restService;
发布 http 协议的服务
多协议发布
最后修改 May 9, 2023: Initializer announcement (#2582) (21b062fcdbb)