当前位置: 首页 > news >正文

【035】Dubbo3从0到1系列之dubbo-remoting核心接口Endpoint

文章目录

    • 2.3 Endpoint接口
      • 2.3.1 Endpoint概述
      • 2.3.2 消息发送功能
      • 2.3.3 生命周期管理
      • 2.3.4 设计特点

2.3 Endpoint接口

在 Dubbo 中会抽象出一个 “端点(Endpoint)” 的概念,我们可以通过一个 ip 和 port 唯一确定一个端点,两个端点之间会创建 TCP 连接,可以双向传输数据。Dubbo 将 Endpoint 之间的 TCP 连接抽象为通道(Channel),将发起请求的 Endpoint 抽象为客户端(Client),将接收请求的 Endpoint 抽象为服务端(Server)。这些抽象出来的概念,也是整个 dubbo-remoting-api 模块的基础,下面我们会逐个进行介绍。
在这里插入图片描述
Dubbo中Endpoint接口定义
在这里插入图片描述

2.3.1 Endpoint概述

Endpoint 接口是 Dubbo 中所有远程通信实体的基础接口,代表了一个可以发送消息、接收消息并管理连接状态的通信端点。

✅ 主要功能

  • getUrl(): 获取该端点关联的 URL 配置信息,包含协议、地址、参数等配置
  • getChannelHandler(): 获取与该端点绑定的通道处理器,用于处理接收到的消息
  • getLocalAddress(): 返回本地地址信息,表示该端点监听的本地 IP 和端口

2.3.2 消息发送功能

void send(Object message) throws RemotingException;
void send(Object message, boolean sent) throws RemotingException;
  • 提供两种发送消息的方法,支持同步或异步发送模式
  • sent 参数控制是否等待消息真正发送完成后再返回

2.3.3 生命周期管理

  • close(): 关闭连接,释放资源
  • close(int timeout): 在指定超时时间内优雅关闭连接
  • startClose(): 开始关闭流程,标记端点即将被关闭
  • isClosed(): 查询当前端点是否已经关闭

2.3.4 设计特点

  • 线程安全: 接口设计为线程安全,可以在多线程环境中并发使用
  • 原型模式: 每个实例都是独立的原型对象,不共享状态
  • SPI 支持: 可通过 Dubbo 的 SPI 机制扩展不同的实现

相关接口继承关系:

  • 继承关系: Channel 和 Client 接口都继承自 Endpoint
  • 实现关系: RemotingServer 实现了 Endpoint 接口
  • 处理器关联: 通过 ChannelHandler 处理消息事件
http://www.dtcms.com/a/614535.html

相关文章:

  • 用备份的网站代码做网站步骤小程序模板怎么导入
  • 利用帝国cms网站建设网页源代码怎么搜索关键词
  • 【愚公系列】《腾讯元宝从入门到精通》002-提示词设计与优化
  • C++哈希(包含unordered_set和unordered_map的封装)
  • 编译类语言 | 深入了解编译原理及应用
  • 西安建设银行网站专业公司网站 南通
  • 禁止同ip网站查询抖音小程序注册
  • Chaos-nano:Arduino Pro Mini 轻量级操作系统解析与实战应用
  • 从 0 到 1 学爬虫:Python 基础语法在爬虫中的实战运用用这个标题写一篇文章,在当前对话窗口输出
  • 网页设计网站排行榜中国发达国家还有多远
  • Podman和Docker
  • 自己架设服务器做网站一同看网页打不开
  • 手写LRU 缓存
  • 23-MD5+DES+Webpack:考试宝
  • 前端构建工具环境变量,安全管理
  • 个人网站名称举例网站建设需要的硬件
  • 数据分析笔记09:Python条件语循环
  • 可在哪些网站做链接赣州网络招聘
  • 高端网站制作网站背景自动切换
  • 代码生成工具GitHub Copilot介绍
  • RDMA基本操作类型---send/recv,write/read
  • 2.37基于Multisim的数字电子钟准点报时,时间可调,Multisim时钟,Multisim电子时钟。含3000字报告。功能:带准点报时,时间可调
  • 建筑模板有哪些seo优化按天扣费
  • 广州网站设计联系方式旅游做攻略用什么网站好
  • 小华HC32L136K8TA 单片机新建 MDK5 工程模板 (一)
  • day15(11.15)——leetcode面试经典150
  • LED闪烁功能代码详解
  • 这几年做哪些网站致富基于ssh框架的网站开发流程
  • 远程(本地)连接不上虚拟机
  • Ubunntu24.04 下载jdk 8