fibjs 对比 nodejs 有哪些优点和缺点
展开全部
一、说的最多的问题:生态。fibjs 作为新兴的开发框架,生态必定会是原始的。并且因为颠覆了 nodejs 的范式,所以也不太能直接借用 npm 的生态。虽然很多 npm 组件其实是可以直接使用的,但是更多人需要的 web/db/io 相关组件一概不可用。没有英文文档,在把 fibjs 推向国外社区上乏力,也进一步限制了生态的发展。
二、fiber 相比 callback 而言的唯一缺点是堆栈内存占用。golang 采取增长堆栈的方式解决了这个问题。因为涉及到 v8 的实现,fibjs 目前没有好的解决方案。针对这个问题,fibjs 实际上并不是完全的 fiber,等待时间较长的模块,fibjs 仍然采取的是 callback 的设计。比如 web server 的处理 handler。这样一来,fiber 的数量便不会因为连接的暴涨而增加太多。一个网站同时 1万个连接,每秒请求可能只有 500,每个请求 100ms,同时处理的请求也才 50 个而已,而 fibjs 发起万级 fiber 毫无压力。这样的数量级根本没有到需要考虑内存的程度。
三、fibjs 仍比较年轻,没有经过更多应用的检验,很多组件甚至在孢子社区内部也没有实用过。以 ssl 为例,最近公司内部在应用的时候便发生了连接一些网站证书验证问题。即便使用过的组件,也会存在设计不合理的问题。这些都是需要社区的支持,一起验证、建议和改进的。
二、fiber 相比 callback 而言的唯一缺点是堆栈内存占用。golang 采取增长堆栈的方式解决了这个问题。因为涉及到 v8 的实现,fibjs 目前没有好的解决方案。针对这个问题,fibjs 实际上并不是完全的 fiber,等待时间较长的模块,fibjs 仍然采取的是 callback 的设计。比如 web server 的处理 handler。这样一来,fiber 的数量便不会因为连接的暴涨而增加太多。一个网站同时 1万个连接,每秒请求可能只有 500,每个请求 100ms,同时处理的请求也才 50 个而已,而 fibjs 发起万级 fiber 毫无压力。这样的数量级根本没有到需要考虑内存的程度。
三、fibjs 仍比较年轻,没有经过更多应用的检验,很多组件甚至在孢子社区内部也没有实用过。以 ssl 为例,最近公司内部在应用的时候便发生了连接一些网站证书验证问题。即便使用过的组件,也会存在设计不合理的问题。这些都是需要社区的支持,一起验证、建议和改进的。
威孚半导体技术
2024-08-19 广告
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层...
点击进入详情页
本回答由威孚半导体技术提供
2018-06-27 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
一、说的最多的问题:生态。fibjs 作为新兴的开发框架,生态必定会是原始的。并且因为颠覆了 nodejs 的范式,所以也不太能直接借用 npm 的生态。虽然很多 npm 组件其实是可以直接使用的,但是更多人需要的 web/db/io 相关组件一概不可用。没有英文文档,在把 fibjs 推向国外社区上乏力,也进一步限制了生态的发展。
二、fiber 相比 callback 而言的唯一缺点是堆栈内存占用。golang 采取增长堆栈的方式解决了这个问题。因为涉及到 v8 的实现,fibjs 目前没有好的解决方案。针对这个问题,fibjs 实际上并不是完全的 fiber,等待时间较长的模块,fibjs 仍然采取的是 callback 的设计。比如 web server 的处理 handler。这样一来,fiber 的数量便不会因为连接的暴涨而增加太多。一个网站同时 1万个连接,每秒请求可能只有 500,每个请求 100ms,同时处理的请求也才 50 个而已,而 fibjs 发起万级 fiber 毫无压力。这样的数量级根本没有到需要考虑内存的程度。
三、fibjs 仍比较年轻,没有经过更多应用的检验,很多组件甚至在孢子社区内部也没有实用过。以 ssl 为例,最近公司内部在应用的时候便发生了连接一些网站证书验证问题。即便使用过的组件,也会存在设计不合理的问题。这些都是需要社区的支持,一起验证、建议和改进的。
二、fiber 相比 callback 而言的唯一缺点是堆栈内存占用。golang 采取增长堆栈的方式解决了这个问题。因为涉及到 v8 的实现,fibjs 目前没有好的解决方案。针对这个问题,fibjs 实际上并不是完全的 fiber,等待时间较长的模块,fibjs 仍然采取的是 callback 的设计。比如 web server 的处理 handler。这样一来,fiber 的数量便不会因为连接的暴涨而增加太多。一个网站同时 1万个连接,每秒请求可能只有 500,每个请求 100ms,同时处理的请求也才 50 个而已,而 fibjs 发起万级 fiber 毫无压力。这样的数量级根本没有到需要考虑内存的程度。
三、fibjs 仍比较年轻,没有经过更多应用的检验,很多组件甚至在孢子社区内部也没有实用过。以 ssl 为例,最近公司内部在应用的时候便发生了连接一些网站证书验证问题。即便使用过的组件,也会存在设计不合理的问题。这些都是需要社区的支持,一起验证、建议和改进的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询