nacos-sdk-rust binding to NodeJs

广告时间

nacos-sdk-rust-binding-node : nacos-sdk-rust binding to NodeJs with napi.

Tip: nacos-sdk-nodejs 仓库暂未提供 2.x gRPC 交互模式,为了能升级它,故而通过 node addon 方式调用 nacos-sdk-rust

npm 包 -> https://www.npmjs.com/package/nacos-sdk-rust-binding-node

客官,走过路过不要错过,买不买瞧一瞧也是好的。行过路过唔好错过啦~

缘起?冲突!

如下图,架构选型 Nacos,内部有配置管理相关的定制化诉求,对注册中心无定制诉求,故而把集群拆为两套,并将注册中心托管于阿里云 MSE-Nacos ;
注册中心托管后,网络隔离就引入了 1.x 模式 upd 推送失败问题,目前让 MSE 同学后台设置将兜底 list 频率由 10s 提高至 1s,勉强达到服务变更通知可接受范围;但终究对服务变更的敏感性不足,兜底 list 频率提高了十倍极大增加服务端的负载。

若对 Nacos 未有足够了解而又有兴趣,请阅:「Nacos 注册中心的数据一致性剖析」

nacos-sdk-rust binding to NodeJs_第1张图片

Java 应用可以通过升级 nacos-client 2.x 采用 gRPC 交互,然而多语言客户端 NodeJs 社区并未提供 2.x gRPC 的实现。咋办呢?

措施之“曲线救国”

nacos-sdk-nodejs 开源社区没有实现 2.x gRPC 交互,故而走 “曲线救国” 道路:

  • 先实现 nacos-sdk-rust 丰富 nacos 多语言体系;请阅:「Rust 从入门到放弃,再入门到贡献 nacos-sdk-rust」
  • 再将 rust 客户端 binding to nodejs,继而出现了 nacos-sdk-rust-binding-node。

nacos-sdk-rust binding to NodeJs_第2张图片

由此就出现了这篇文章啦~ nacos-sdk-rust binding for NodeJs with napi. 顺带介绍 nacos-sdk-rust 的实现架构图,也多得 napi-rs 库让不懂 node 的小编易于实现绑定。

有兴趣的小伙伴请穿越至 nacos-sdk-rust

nacos-sdk-rust binding to NodeJs_第3张图片

拓展

Rust could binding to Anythings!!!~

  • https://github.com/jni-rs/jni-rs binding to Java
  • https://github.com/napi-rs/napi-rs binding to NodeJs
  • https://github.com/PyO3/pyo3 binding to Python

你可能感兴趣的:(Rust,rust,中间件,架构,Nacos)