eggshell-data-client

0.0.1 • Public • Published

data-client vs api-client

https://eggjs.org/zh-cn/advanced/cluster-client.html
https://github.com/node-modules/cluster-client

data-client作为一个共享调度中心(依托于cluster-client),其所有数据均来之cluster-client leaderapi-client进一步脱离了多进程模型。他起到一个桥梁作用,为当前进程在data-client之上提供独立接口、缓存等,方便业务调用。

举个例子,假设data-client现在是一个缓存中心,所有数据都存放在内存中。利用cluster-client创建出来的dataClient就可以在多个进程间共同维护和消费这个缓存,而且follower的内存是不会保存这些数据。如果在进一步包装api-client提供本地缓存作为同步调用,那么每个进程都会包含一个本地缓存。

备注

1

开发时,观察 cluster-client,发现 leaderfollower 心跳超时时(如系统待机挂起时),会出现两条错误日志。 其中一条时 egg 的 logger 打印出来的。但另一条却让人摸不着头脑。 通过逐步观察代码,其实是 leader 继承自 sdk-base,而父类默认添加了一个 on('error') _defaultErrorHandler。所以才会出现这条日志信息。 其中 leader 中的成员 connection 也继承自 sdk-base,但是自定义了 on('error'),所以没有额外出现一条日志信息。

Readme

Keywords

none

Package Sidebar

Install

npm i eggshell-data-client

Weekly Downloads

1

Version

0.0.1

License

none

Unpacked Size

6.33 kB

Total Files

6

Last publish

Collaborators

  • linqun