Waterline ORM 线程在设计上是安全的吗?

Posted

技术标签:

【中文标题】Waterline ORM 线程在设计上是安全的吗?【英文标题】:Is Waterline ORM thread safe by design? 【发布时间】:2018-10-29 07:40:05 【问题描述】:

水线 ORM 线程安全吗?或者我们应该在我们的应用中实现一个单例数据层来实现线程安全?

【问题讨论】:

【参考方案1】:

如果您使用 Node 集群,每个集群都是一个独立的进程,因此每个集群都已经拥有自己的内存,不与其他集群共享。 如果你有一些关键部分要锁定,你应该使用像 redis-mutex-semaphorelive-mutex 这样的跨进程信号量库来锁定它们(未在 Windows 上测试) . 请注意,许多分布式信号量库在第三方上中继,例如用于 redis-mutex-semaphore 库的 redis。

【讨论】:

对不起,我问的是水线。 我认为这不是水线问题,如果您使用的是节点集群,则由您来管理关键部分。 我没有使用集群。那么你认为没有集群的线程中的水线安全吗? 节点是单线程的,但是它使用后台线程来运行I/O异步任务,所以你可能想锁定一些逻辑,如果是这样,你可以使用互斥体库

以上是关于Waterline ORM 线程在设计上是安全的吗?的主要内容,如果未能解决你的问题,请参考以下文章

GoogleMock 在 Linux 上不是线程安全的吗?

nodejs-ORM 操作数据库中间件waterline的使用

nodejs下的数据库ORM---waterline

在视图中显示一对多关系sails.js waterline orm的列表

Waterline ORM - 检查数组属性是不是包含值

Sails.js Waterline ORM:.findOrCreate() 没有 .populate() 方法