美文网首页Dubbo dubbo
Dubbo的调用过程及工作原理

Dubbo的调用过程及工作原理

作者: Djbfifjd | 来源:发表于2020-09-14 21:42 被阅读0次

一、图解

节点角色说明:
1️⃣Container:服务运行容器。
2️⃣Provider:暴露服务的服务提供方。
3️⃣Consumer:调用远程服务的服务消费方。
4️⃣Registry:服务注册与发现的注册中心。
服务提供者先启动 start,然后注册 register 服务。消费订阅 subscribe 服务,如果没有订阅到自己想获得的服务,它会不断的尝试订阅。新的服务注册到注册中心以后,注册中心会将这些服务通过 notify 到消费者。

5️⃣Monitor:统计服务的调用次数和调用时间的监控中心。
这是一个监控,图中虚线表明 Consumer 和 Provider 通过异步的方式发送消息至 Monitor,Consumer 和 Provider 会将信息存放在本地磁盘,平均一分钟发送一次信息。Monitor 在整个架构中是可选的(图中的虚线并不是可选的意思),Monitor 功能需要单独配置,不配置或者配置以后,Monitor 挂掉并不会影响服务的调用。

二、调用关系说明

①服务容器 Container 负责启动加载运行服务提供者 Provider。根据 Provider 配置的文件根据协议发布服务,完成服务的初始化。

②Provider 在启动时,根据配置中的 Registry 地址连接 Registry,将 Provider 的服务信息发布到 Registry,在 Registry 注册自己提供的服务。

③Consumer 在启动时,根据消费者 XML 配置文件中的服务引用信息,连接到 Registry,向 Registry 订阅自己所需的服务。

④Registry 根据服务订阅关系,返回 Provider 地址列表给 Consumer。如果有变更,Registry 会基于长连接推送最新的服务地址信息给 Consumer。

⑤Consumer 调用远程服务时,基于软负载均衡算法,先从缓存的 Provider 地址列表中选择一台进行跨进程调用服务,假如调用失败,再重新选另一台调用。

⑥服务 Provider 和 Consumer,会在内存中记录调用次数和调用时间,每分钟发送一次统计数据到 Monitor。

相关文章

  • Dubbo的调用过程及工作原理

    一、图解 节点角色说明:1️⃣Container:服务运行容器。2️⃣Provider:暴露服务的服务提供方。3️...

  • Dubbo性能调优参数及原理

    Dubbo调用模型 常用性能调优参数 源码及原理分析 >>threads FixedThreadPool.java...

  • Java进阶-Dubbo-进阶

    一、服务调用过程 1.1 服务调用方式   Dubbo 服务调用过程:   Dubbo 支持同步和异步两种调用方式...

  • 缺少一条注册中心“腿”的Dubbo

    技术需求点:一.dubbo机制和原理;二.构建dubbo调用实例;本文涉及:SpringBoot、Dubbo(包括...

  • 相关文章

    我的笔记核心理论基础、Socket通信原理、RPC远过程调用协议、Dubbo博客 java注解-01、java注解...

  • jmeter测dubbo接口

    原理 利用了Dubbo的泛化调用的特性,这个特性可以让客户没有API接口及模型类元的情况下调用服务端。同时把这一特...

  • Dubbo部分知识点总结

    Dubbo部分 Dubbo工作原理dubbo工作原理第一层:service层,接口层,给服务提供者和消费者来实现的...

  • Dubbo调用过程

    一个微服务主要有三个角色:服务提供者、服务的消费者、服务注册中心(服务代理)。 服务注册 服务,如用户服务、库存服...

  • Dubbo的异步调用

    Dubbo调用的过程会有网络延时,处理耗时等,如果业务上对于调用结果并不实时依赖,可以使用异步调用的方式Dubbo...

  • dubbo的调用过程

    一、消费者发起请求 1.1 调用入口 在@Reference注入的bean的invoke方法,即Invoker.i...

网友评论

    本文标题:Dubbo的调用过程及工作原理

    本文链接:https://www.haomeiwen.com/subject/ermzektx.html