NodeJS 学习
NodeJS 学习
node CPU 密集型任务?Libuv?
- xiaocong sharing: https://zhuanlan.zhihu.com/p/563349058
- Libuv: https://www.geeksforgeeks.org/libuv-in-node-js/
- 解决 cpu 密集型任务线程池策略:https://zhuanlan.zhihu.com/p/220478526
RPC调用
- nodejs rpc 协议:https://zhuanlan.zhihu.com/p/38012481
- grpc 和 rest:https://www.imaginarycloud.com/blog/grpc-vs-rest/
- RPC 和 http 并不是并列关系,RPC 和 REST 才是并列关系
- RPC 和 REST 是一种模型,PRC 客户端响应通信模型。REST 基于请求-响应模型
- RPC 可以基于 http/http2.0/tcp 来实现(grpc根据 http2.0),不仅包含协议内容,也包含序列化/反序列化以及消息通信
- REST 一般基于 http1.0 实现,当然也可以基于 http2.0 来实现(但是由于请求-响应的模型,导致没办法充分利用 http2.0,比如双向通信)
微服务是什么
- 微服务和 service mesh:https://zhuanlan.zhihu.com/p/95190522
- 从 http 接口通信架构(不同服务模块用不同的域名)-> 微服务架构,http 接口通信架构问题:
- 域名解析与调用链路增加导致的返回事件影响
- HTTP协议灵活,需要一套更加规范化的传输方式(Restful 风格虽然规定了一些规范,但是针对这些状态码以及url的设计仍会有一些自定义的部分)
- 性能上,http 1.1 采用的 请求-响应模型,从上面 RPC 调用上来讲,性能不更好(链接复用问题?但是http 1.1 是会有链接复用的,在我看来更多的还是源于 请求-响应模型的局限导致的)
meta framework
目前认知比较粗浅(node和浏览器的差异越来越小,所以前后端一体化?),可以详细看看 nextjs 的实现
- 感谢你的欣赏!
赞赏名单
因为你的支持,我感受到写文章的价值。
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自HDi - 随便记