Apache Dubbo-js重大更新,采用全新架构

OSC开源社区 昨天

以下文章来源于FOSS Lab ,作者局长

FOSS LabFree and Open Source Software,自由与开源软件

Apache Dubbo-js 近日合并了一个来自 vivo 开源团队的 PR,并进行了重大更新,涉及到架构方面的变化。

Apache Dubbo-js 是 Apache Dubbo 的原生 Node.js 客户端。

▲ 新架构

重大更新

新功能

  • 核心模块进行重新拆分,现已被抽象为 consumer, server, registry, setting 和 common 五个核心模块

  • 添加 dubbo-server 模块,提供完整 dubbo tcp 服务器服务的基本功能

  • 添加 dubbo-server 以接受 dubbo 请求,对请求参数进行序列化和反序列化

  • 新增服务注册功能,可以注册至 Zookeeper 和 nacos

  • 增强调度程序对请求的调度,采用 fast error 的理念,完善错误信息并使其更加精确

  • 增强 dubbo-server 的底层调试日志,方便快速定位问题

  • 增强注册到 zk 的 dubbo-server 的 dubbo url,添加 side, pid, generic, protocol, dynamic, category, anyhost, timestamp 和其他参数

  • 增强型扩展 dubbo-server 支持中间件机制,此机制可以延长整个调用的生命周期

  • 重构 dubbo 请求和响应的序列化实现,以与上游版本保持一致

  • 添加独立的心跳管理模块以简化 consumer 和 server 之间的通信

  • 添加 nacos 作为注册中心

错误修复

  • 修复 dubbo-consumer 的 decodeDubboResponse 的序列化问题,以及错误响应 err 对象的反序列化问题

  • 修复 consumer 和 server 之间的心跳机制,以避免出现大量的 heartbeat storms。目前 server 将在收到心跳后立即回复,consumer 将定期检查并发送

  • 修复 dubbo-consumer 的 dubboVersion 版本设置,该版本应为 dubbo 协议的协议版本,而不是 dubbo 库的版本

详情查看:https://github.com/apache/dubbo-js/pull/228

(0)

相关推荐