3.Dubbo 节点之间的调用关系

简介: 3.Dubbo 节点之间的调用关系

image.png

image.png

调用关系说明:

  1. 服务容器负责启动,加载,运行服务提供者。
  2. 服务提供者在启动时,向注册中心注册自己提供的服务。
  3. 服务消费者在启动时,向注册中心订阅自己所需的服务。
  4. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
  5. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
  6. 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

他们之间调用的关系是:Container 负责启动,加载然后运行 Provider。Provider 在启动时会向注册中心注册自己提供的服务,Consumer 在启动时会向 Registry 订阅自己所需服务,此时 Registry 会返回 Provider 地址列表给 Consumer。如果地址有变更,Registry 会基于长连接推送变更数据给 Consumer。Consumer 会基于软负载均衡算法选一台提供者进行调用,如果调用失败,则再选一台。Provider 和 Consumer 在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到 Monitor。

相关文章
|
Java 机器人 Maven
【Java用法】微服务之间的相互调用方式之一,通过FeignClient客户端调用其他微服务的方法包含熔断器(Hystrix)
【Java用法】微服务之间的相互调用方式之一,通过FeignClient客户端调用其他微服务的方法包含熔断器(Hystrix)
187 0
|
3月前
|
前端开发 API 微服务
SpringCloud微服务之间使用Feign调用不通情况举例
SpringCloud微服务之间使用Feign调用不通情况举例
660 2
|
7月前
|
负载均衡 Dubbo Java
理解 Netty 和 Dubbo 之间的关系:相互作用与作用域
在现代分布式系统和微服务架构中,高性能、高可用的通信框架是成功的关键要素之一。Netty 和 Dubbo 是两个非常流行的开源项目,它们在分布式系统的构建中发挥着重要作用。
|
Java Maven 微服务
【Java用法】微服务之间的相互调用方式之一,通过FeignClient客户端调用其他微服务的方法
【Java用法】微服务之间的相互调用方式之一,通过FeignClient客户端调用其他微服务的方法
170 0
|
Dubbo Java 应用服务中间件
dubbo项目拆分结构
dubbo项目拆分结构
57 0
dubbo项目拆分结构
|
存储 运维 Dubbo
微服务之间的最佳调用方式,你会了吗(二)
微服务之间的最佳调用方式,你会了吗
|
消息中间件 存储 人工智能
微服务之间的最佳调用方式,你会了吗(一)
微服务之间的最佳调用方式,你会了吗
|
编译器 测试技术 C语言
C与C++之间的相互调用及函数区别
最近项目需要使用google test(以下简称为gtest)作为单元测试框架,但是项目本身过于庞大,main函数无从找起,需要将gtest框架编译成静态库使用。因为项目本身是通过纯c语言编写,而gtest则是一个c++编写的测试框架,其中必然涉及c与c++之间的相互调用。 注意,本文的前提是,c代码采用gcc等c语言编译器编译c代码,采用g++等c++编译器编译c++代码,如果c和c++代码统一使用g++编译,大部分情况是可以实现两者代码相互调用的。以下为踩坑过程的总结o_O||。 c与c++的函数区别 要了解两者之间如何实现相互调用,必须先了解c与c++之间的函数有什么不同。 c+
131 0
|
分布式计算 监控 Dubbo
【e3项目学习二】——zk与dubbo的组合运用
注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。使用dubbo-2.3.3以上版本,建议使用zookeeper注册中心。
|
XML 存储 缓存
并不简单的代理,Dubbo是如何做服务引用的
并不简单的代理,Dubbo是如何做服务引用的
143 0