Xinyuan Wang
Xinyuan Wang
![image](https://user-images.githubusercontent.com/40495740/163711287-5979447e-8975-4a14-b272-1cc3ecbebc4a.png)
- 接口编排 - 通用鉴权 - 通用日志、监控
## 微服务治理 - 服务发现(综合管理服务) - rpc 调用(减少数据调用) - 配置中心(减少运维配置) - 服务网关(综合能力,鉴权日志监控)
BFF 很多团队都会有 bff 这个解决方案,从传统的视角来看,主要有以下量个优点 api 网关:统一的数据接口处理,鉴权、参数、返回值、错误码等 数据裁剪:将后端的基础数据组合成适合前端渲染的数据结构 变化隔离:天然的防腐层,屏蔽服务接口的变化 技术迭代:ab test、流量灰度、渲染服务 那我们要思考如何让 bff 发挥更大的价值,更好的解决端的问题 性能视角:降低多加一层带来的链路损耗,服务资源的成本 业务视角:除了数据还能给端提供什么 下面是如何解这两个问题 利用 client 天然分布式的特点,结合 service worker 和边缘计算将 bff 更加前置 使用 graphql 消除请求和全局的缓存,减少不必要的 rtt,同时缓存可以进一步放在 cdn 数据库中
## npm-check ```shell npm install npm-check -g ``` 查看可更新包信息 ```shell npm-check ``` 选择并更新相应的依赖包【空格选择、enter更新】 ```shell npm-check -u ```
## 代码规范建设 ESLint 与 Prettier 结合最佳实践 https://github.com/ChelesteWang/eslint-vs-prettier
在过去,与大多数工程师一样,我认为前端代码的设计水平大多与工程师的能力有直接关系。但随着接手了几个多人协作的大型前端项目,我开始意识到,这种认知对短生命周期的小型项目可能适用,但对真正的大型项目,仅靠提升工程师质量有时并不能直接提升代码的质量。 本文将结合自己的一些实际经验,来阐述自己的一个观点:**构建大型高质量前端工程,合理的代码约束与正确的团队运转机制可能更为重要**。 ### 什么是高质量的工程代码? **高质量的工程代码,**并不等价于性能最优,技术最新,复用性最强的技术选型。回顾几年前的前端领域:JQuery 时代,虽然要手动操作 DOM,但其实在那时, Google Closure 和 Ext.js 团队就已经提供了完整的组件化概念,甚至 Ext.js 还提供了组件冒泡这样的创新事件机制。那时用 Zepto 维护的代码,编码速度甚至比现在写一些 React 项目还要快。不同的技术只是工具,怎么用工具,能把工具用到什么程度,最终取决于开发者自身,所以高质量的工程代码,更多应该从业务和工程的角度考虑问题,而非技术选型。 举个例子,当整个公司都在使用 React 开发时,虽然我们知道 Vue 使用可能会更简单便捷,但我们一定不会去用,因为这个时候,虽然看起来写代码更简单了,但其他人在 React 方向沉淀的经验,你无法复用,额外还需要整个团队去学习一套全新的技术,这样的工程设计,在这个背景下,显然是不合理的。 Thenewstack 做过 2019 年的开发者数据统计,开发者 32%...
## 参考链接 [https://juejin.cn/post/6844903824780427278](https://juejin.cn/post/6844903824780427278)
## 核心 ![image](https://user-images.githubusercontent.com/40495740/130918908-95822648-2fb2-421f-ae50-fcfb6309d8f4.png) ![image](https://user-images.githubusercontent.com/40495740/130918837-0f85bbe6-f5c0-4d32-acf8-4c549ee6594e.png) nodejs 对开发者角度看为单线程,但通过了事件循环机制从而实现了异步,cluster 通过启用更多 worker 进程,从而利用多核资源
[浅析 NodeJS 多进程和集群](https://mp.weixin.qq.com/s/GOqdWFwc0FBBKoR_hwS3ew)