node相关草稿

264 阅读2分钟

“大前端”是最近起来的概念,和传统前端相比,“大前端”有两个方面的扩展。一个是端的多样式,比如新增了iOS、Android、小程序、公众号等等。另一个是在往后端发展,比如node.js的兴起,比如nodejs,可以用于写BFF。

node是单线程的,但是可以快速响应请求

在程序中有两个线程:一个负责程序本身的运行,称为“主线程”。另一个负责主线程和其他进程(主要是各种I/O操作)的通信,被称为"Event Loop线程"(线程消息)

上图的绿色部分表示运行时间,橙色表示空闲时间。每当遇到I/O的时候,主线程就让Event Loop线程去通知相应的I/O程序,然后继续执行,不存在等待时间。等到I/o程序完成操作,Event Loop线程再把结果返回主线程。这种运行方式称为“异步模式”或“非堵塞模式”

进程和线程的区别: 一个程序只有进程,一个进程至少有一个线程。

进程是系统进行资源分配和调度的一个独立单位,线程是进程的一个实体,是CPU调度和分派的基本单位(如程序计数器,一组寄存器和栈)

网关(geteway): 单节点网关:

BBF是API网关模式的一个特例 API网关的一些情况: 单个API网关,为所有客户端提供单个API 单个API网关,为美中类型的客户端提供API 每个客户端API网关,为每个客户端提供API,这是BFF模式

BBF是Bankends for Frontends的简称,中文翻译是为前端而开发的后端。
Mobile BFF里头不仅有各个业务线的聚合/裁剪/适配和业务逻辑,还引入了很多跨横切面逻辑,比如安全认证,日志监控,限流熔断等。随着时间的推移,代码变得越来越复杂,技术债越堆越多,开发效率不断下降,缺陷数量不断增加。