发布网友 发布时间:2022-04-20 08:04
共1个回答
热心网友 时间:2022-04-22 16:31
一、说的最多的问题:生态。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 为例,最近公司内部在应用的时候便发生了连接一些网站证书验证问题。即便使用过的组件,也会存在设计不合理的问题。这些都是需要社区的支持,一起验证、建议和改进的。