【Dubbo】在开发联调的时候需要做什么?
发布日期:2021-05-10 05:48:25 浏览次数:24 分类:精选文章

本文共 924 字,大约阅读时间需要 3 分钟。

Dubbo RPC 开发联调方案

临时分组联调

在 Dubbo 的跨机房调用场景下,临时分组联调是一个简便且高效的方案。以下是实施步骤:

  • Service 层:在开发服务接口时,为 @DubboService 添加 group 属性。最好通过配置文件读取此参数,支持动态配置。

    @DubboService(group = "${server.member.group}")
  • Reference 层:在调用服务的客户端,为 @DubboReference 中添加 group 属性,确保使用相同的分组。

    @DubboReference(
    interfaceClass = UserService.class,
    group = "${server.member.group}"
    )
    private UserService userService;
  • 启动服务

    • 启动两个 server,分别配置不同的组,如 devtest
    • 启动一个 client 并访问服务。
  • 验证

    • 通过 Redis 注册中心,方便查看服务注册信息。
  • consumer 直连 provider

    在某些场景下,直接配置客户端以绕过注册中心:

  • 关闭注册到注册中心

    在配置文件中添加:

    dubbo.registry.register=false
  • 配置 client:在 @DubboReference 中添加 url 属性,确保其指向 provider 的服务地址。provider 需要配置 dubbo.protocol.port 以匹配期望的端口。

    @DubboReference(
    interfaceClass = UserService.class,
    url = "dubbo://127.0.0.1:20081",
    group = "${server.member.group}"
    )
  • 不注册只订阅

    当服务既是 provider 又是 consumer 时,关闭注册可避免对其他 consumer 的影响:

  • 在配置中设置:

    dubbo.registry.register=false
  • 此方式特别适用于测试环境,确保服务间不互相影响。

    上一篇:【设计模式之禅】模板方法模式
    下一篇:【Dubbo】Spring Boot整合Dubbo

    发表评论

    最新留言

    逛到本站,mark一下
    [***.202.152.39]2025年04月23日 20时11分08秒