dubbo服务暴露和消费的详细过程

(1)服务提供者暴露一个服务的详细过程

服务提供者暴露服务的主过程:

首先ServiceConfig类拿到对外提供服务的实际类ref(如HelloWorldImpl),然后通过ProxyFactory的getInvoker()方法使用ref生成一个AbstractProxyInvoker实例,到这一步就完成具体服务到Invoker的转化。接下来就是Invoker转换到Exporter的过程。

Dubbo处理服务暴露的关键就在Invoker转换到Exporter的过程(如上图中的红色部分),下面我们以Dubbo和RMI这两种典型协议的实现来进行说明:

Dubbo的实现

Dubbo协议的Invoker转为Exporter发生在DubboProtocol类的export方法,它主要是打开socket侦听服务,并接收客户端发来的各种请求,通讯细节由Dubbo自己实现。

RMI的实现

RMI协议的Invoker转为Exporter发生在RmiProtocol类的export方法,

它通过Spring或Dubbo或JDK来实现RMI服务,通讯细节这一块由JDK底层来实现,这就省了不少工作量。

(2)服务消费者消费一个服务的详细过程

服务消费的主过程:

首先ReferenceConfig类的init方法调用Protocol的refer方法生成Invoker实例(如上图中的红色部分),这是服务消费的关键。

接下来把Invoker转换为客户端需要的接口(如:HelloWorld)。


Dubbo一个分布式服务框架,它可以帮助我们快速开发分布式系统。Dubbo服务暴露和引用过程分为以下几个步骤: 1. 服务提供者暴露服务服务提供者需要在Dubbo中注册服务,并将服务暴露出来。Dubbo提供了多种方式来注册和暴露服务,比如XML配置方式、注解方式等。服务提供者可以选择合适的方式来注册和暴露服务。 2. 服务消费者引用服务服务消费者需要在Dubbo中引用服务Dubbo提供了多种方式来引用服务,比如XML配置方式、注解方式等。服务消费者可以选择合适的方式来引用服务。 3. 服务调用:服务消费者可以通过调用Dubbo提供的API来调用服务Dubbo支持多种调用方式,比如同步调用、异步调用、单向调用等。服务调用的过程中,Dubbo会自动进行负载均衡、容错处理等操作,从而提高系统的可用性和稳定性。 4. 服务监控和管理:Dubbo提供了丰富的监控和管理功能,可以帮助我们了解系统的运行情况和性能瓶颈。比如可以通过Dubbo的监控中心来查看服务的调用次数、调用时间、响应时间等指标,从而帮助我们优化系统的性能。 总的来说,Dubbo服务暴露和引用过程包括服务提供者的服务暴露服务消费者服务引用、服务的调用和服务的监控和管理等步骤。在实际应用中,需要根据具体的业务需求和场景选择合适的Dubbo配置方式和调用方式,从而实现高效、稳定的分布式服务
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值