dubbo、netty

本文探讨了Dubbo作为RPC框架的核心功能,包括TCP/HTTP协议封装、代理对象生成、对象序列化、配置中心、负载均衡等。同时,深入分析了Netty在异步通信中的实现,讲解了如何通过requestID和回调对象实现线程间的同步,确保远程调用结果的正确对应。
摘要由CSDN通过智能技术生成

1、dubbo源码(RPC框架Dubbo与JSF

        虽然我没有看过Dubbo的源码,但是我觉得作为一个RPC框架,它至少应该有封装TCP或者HTTP这类传输报文的协议功能;消费者端能生成代理对象去访问提供者对象就应该有一个生成代理的功能;消费者在调用提供端函数时候会传入一些参数,函数结果返回的时候又是对象,那它就应该有一个对象序列化和反序列化的功能;消费者和提供者会将自己的IP地址发给注册中心,并且会在消费者本地缓存服务列表,那它就应该有一个配置中心;消费者在调用的时候不用考虑访问的到底是那个节点上的服务,那它就应该有一个负载均衡的功能

2、通信 netty (RPC-原理及RPC实例分析

    如果使用netty的话,一般会用channel.writeAndFlush()方法来发送消息二进制串,这个方法调用后对于整个远程调用(从发出请求到接收到结果)来说是一个异步的,即对于当前线程来说,将请求发送出来后,线程就可以往后执行了,至于服务端的结果,是服务端处理完成后,再以消息的形式发送给客户端的。于是这里出现以下两个问题:

  • 怎么让当前线程“暂停”,等结果回来后,再向后执行?
  • 如果有多个线程同时进行远程方法调用,这时建立在client server之间的socket连接上会有很多双方发送的消息传递,前后顺序
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值