NodeJS 单线程 如何保证其安全,稳定性?
1个回答
展开全部
NodeJS是新兴的编程方式,基于
javascript
本身的特点NodeJS存在自己的优点和缺点。
安全性:NodeJS的安全性你是在指单线程的资源争用吗?NodeJS是单线程的,并且是原生的
异步编程
模型,对于资源当然不能做太多同步的处理,也就是说你不要用javascript来做同步的事情,如果做同步的工作就不要用javascript。当然有些时候资源同步是必要的,这时候可以在数据库层面着手,比如couchdb,就是多版本的数据库,即使出现资源争用也完全不用担心,数据库回处理多版本问题。所以NodeJS是一个安全的环境。
稳定性:NodeJS的特点是单线程,也就是说整个程序只有一个线程在跑,同时还是异步的,对于多个请求或多个操作是同时进行的,那么假设在这么多的并行操作(单线程和并行不矛盾)中如果有一个操作crash了,结果回怎么样?因为是单线程,这个线程中出现的任何问题都回反映到线程上,某个操作crash就回导致线程的crash,线程又控制着多个并行操作,结果就是:一个操作crash导致整个NodeJS崩溃。所以NodeJS的稳定性还不足。NodeJS还在快速发展中,在未来的某个版本中也许会提高稳定性,目前NodeJS还不适合用来做对稳定性要求很高的项目。
javascript
本身的特点NodeJS存在自己的优点和缺点。
安全性:NodeJS的安全性你是在指单线程的资源争用吗?NodeJS是单线程的,并且是原生的
异步编程
模型,对于资源当然不能做太多同步的处理,也就是说你不要用javascript来做同步的事情,如果做同步的工作就不要用javascript。当然有些时候资源同步是必要的,这时候可以在数据库层面着手,比如couchdb,就是多版本的数据库,即使出现资源争用也完全不用担心,数据库回处理多版本问题。所以NodeJS是一个安全的环境。
稳定性:NodeJS的特点是单线程,也就是说整个程序只有一个线程在跑,同时还是异步的,对于多个请求或多个操作是同时进行的,那么假设在这么多的并行操作(单线程和并行不矛盾)中如果有一个操作crash了,结果回怎么样?因为是单线程,这个线程中出现的任何问题都回反映到线程上,某个操作crash就回导致线程的crash,线程又控制着多个并行操作,结果就是:一个操作crash导致整个NodeJS崩溃。所以NodeJS的稳定性还不足。NodeJS还在快速发展中,在未来的某个版本中也许会提高稳定性,目前NodeJS还不适合用来做对稳定性要求很高的项目。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询