Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 服务器不断运行更新缓存的功能,是否会阻止所有其他服务器功能?_Node.js_Service_Redis_Architecture_Microservices - Fatal编程技术网

Node.js 服务器不断运行更新缓存的功能,是否会阻止所有其他服务器功能?

Node.js 服务器不断运行更新缓存的功能,是否会阻止所有其他服务器功能?,node.js,service,redis,architecture,microservices,Node.js,Service,Redis,Architecture,Microservices,大约每分钟一次,我需要缓存来自各种加密货币交易所的所有订单。有数百个订单,因此此更新功能可能永远不会停止运行 我的问题是:如果我的服务器持续运行此orderbook更新功能,它会阻止所有其他服务器功能吗?用户是否能够与我的服务器交互 我是否需要创建一个单独的服务来执行更新,或者Node是否可以以某种方式对API请求进行优先级排序并暂停缓存功能?这是一个非常开放的问题,很大程度上取决于您的系统。一般来说,您的服务器应该能够处理并发请求,但是有一些事情需要注意 性能成本。如果检索和存储数据的操作需要

大约每分钟一次,我需要缓存来自各种加密货币交易所的所有订单。有数百个订单,因此此更新功能可能永远不会停止运行

我的问题是:如果我的服务器持续运行此orderbook更新功能,它会阻止所有其他服务器功能吗?用户是否能够与我的服务器交互


我是否需要创建一个单独的服务来执行更新,或者Node是否可以以某种方式对API请求进行优先级排序并暂停缓存功能?

这是一个非常开放的问题,很大程度上取决于您的系统。一般来说,您的服务器应该能够处理并发请求,但是有一些事情需要注意

性能成本。如果检索和存储数据的操作需要太多的计算能力,那么它将对服务器处理的所有请求造成压力

数据库连接。服务器花费大量时间等待数据库查询完成。如果整个应用程序只有一个数据库连接,而此连接正忙,则必须等待数据库连接空闲。您可能需要研究数据库连接“池”

我的问题是:如果我的服务器持续运行此订单簿 更新功能,是否会阻止所有其他服务器功能?意志 用户是否能够与我的服务器交互

如果是异步写入,这些操作将进入eventloop,并且在执行这些操作时,节点服务器将从eventloop中选择下一个事件。若您有太多这样的事件,那个么您的事件队列将很长,用户将面临非常缓慢的响应,甚至可能会超时

我需要创建一个单独的服务来执行更新,还是可以 节点以某种方式对API请求进行优先级排序并暂停缓存功能

节点仅使用事件队列中的事件。没有优先权


从设计的角度来看,你应该寻找一些选项,可以像BulkCudio/Edgy那样减少写负载,或者如果你使用RIDIS来缓存,请考虑

你能帮助我理解ReRIS流水线有什么帮助吗?似乎我会进行所有API调用,将响应写入内存中的javascript对象,然后使用redis管道将它们批量写入redis db。所以,似乎写作的数量并没有改变,就在写作的时候。这是否正确?
金额将保持不变,但编写时间将显著减少。