开发者社区 问答 正文

Dubbo集群服务的工作形式是什么?

Dubbo集群服务的工作形式是什么?

展开
收起
游客gzyuldo4mrg6i 2022-03-28 20:37:04 630 分享 版权
1 条回答
写回答
取消 提交回答
  • ①生成 Invoker 对象。根据 Cluster 实现的不同,生成不同类型的 ClusterInvoker 对象。通过 ClusertInvoker 中的 Invoker 方法启动调用流程。

    ②获取可调用的服务列表,可以通过 Directory 的 List 方法获取。这里有两类服务列表的获取方式。

    分别是 RegistryDirectory 和 StaticDirectory: •RegistryDirectory:属于动态 Directory 实现,会自动从注册中心更新 Invoker 列表,配置信息,路由列表。 •StaticDirectory:它是 Directory 的静态列表实现,将传入的 Invoker 列表封装成静态的 Directory 对象。

    ③在 Directory 获取所有 Invoker 列表之后,会调用路由接口(Router)。其会根据用户配置的不同策略对 Invoker 列表进行过滤,只返回符合规则的 Invoker。 假设用户配置接口 A 的调用,都使用了 IP 为 192.168.1.1 的节点,则 Router 会自动过滤掉其他的 Invoker,只返回 192.168.1.1 的 Invoker。

    2022-03-28 20:38:23
    赞同 展开评论
问答分类:
问答标签:
问答地址: