Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1662|回复: 2
打印 上一主题 下一主题

Dubbo

[复制链接]

30

主题

103

帖子

376

积分

认证用户组

Rank: 5Rank: 5

积分
376
楼主
发表于 2019-4-29 17:49:48 | 显示全部楼层
本帖最后由 hshy 于 2019-4-29 19:02 编辑

基于Netty手写Dubbo框架

RPC ---远程传输  远程调用  -->Socket(ip, port) Socket.IO--InputStream  OutputStream  类名 方法名如何通过消息传送class Message{String className="Dog"; methodname typ;}
把上面的类对象序列化成二进制进行传输,接受方接收后进行反序列化,通过反射调用
传输介质:Socket
传输信息(反)序列化
RMI:Remote Method Invocation  针对Java语言远程调用的封装如果调用不同语言(C C#等)实现的方法
解决两个问题
传输介质:和语言无关  --->应用协议 http协议
传输信息(反)序列化:与语言无关   --->html文件 -->xml文件

WebService: http + xml 实现

优化xml

Webjson: http + json  -->相对来说轻量级

RPC:Remote Procudure Call   包含 RMI 和 Webservice及Dubbo 都是RPC的一种

Dubbo:RPC,分布式框架,服务治理(zookeeper),提供者消费者,远程方法调用,分布式服务,容错 负载均衡

Dubbox 当当基于Dubbo二次封装
新浪的Motan
谷歌的GRPC
Facebook的thrift

Netty:对NIO的封装和优化
Dubbo的底层通信框架就是Netty
ORM MVC RPC SAP(微服务)


服务名称创建:持久的 Persistent
服务地址url:临时的  Ephemeral  --------------下线会不存在 地址会变化

Urls--->choose which【负载均衡】  urls(变化,监听)






回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-5-21 10:44 , Processed in 0.055615 second(s), 17 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表