Node.js 如何规划自己的学习之路 到今天为止,已经学完了全部内容,最后我想分享一个稍微轻松的话题:如何最小路径学习一门新技术?希望能有所收获。 首先我们要了解清楚什么是“最小路径”,我自己理解是能够从本质出发,剖析出这门技术的所有需要掌握的知识点,然后提炼出核心的技术实现,只针对这部分核心的知识进行深入学习,并扩充自己基础技术框架的技能点,从而达到掌握这门技术的目的的学习路径。 我在面试候选人时,经常会问这样一个问题:“如果你要学 2021-09-25
Node.js Serverless 的实践:进一步提升系统的稳定性 上一讲我们学习了机器部署的一些方案和策略,比如当你要将一个服务部署到多台(2台以上)机时,你会发现为了尽可能地利用资源、避免浪费,更不能在高并发时引起现网问题,每次都要精细地分析每台机器的部署方案,那有没有可以弹性地根据当前负载情况进行自动化的方案呢? 当然有,就是我们这一讲要学习的 Serverless 技术,目前市面上 Serverless 技术的资料非常多(拉勾教育也有一门课 《 玩转 Se 2021-09-22
Node.js 系统的实践设计(下):完成一个通用投票系统 上一回,我们完成了准备工作,包括架构设计、数据库设计、接口设计以及接口时序图绘制,这一讲就着重实现活动相关接口、票相关接口和抢票接口,为的是让你熟悉使用 Node.js 来开发后台服务。 这三个部分的实现都有一定的代表性,活动相关接口因为访问量较大,要完全走缓存的设计方式;与个人相关的票接口,访问量较少并且缓存意义不大,所以走数据库的设计方式;而抢票是我们核心接口,也是最大的并发接口,则涉及应用 2021-09-18
Node.js 系统的实践设计(上):完成一个通用抢票系统 互联网公司经常举办福利活动,比如“ 9.9 元电影票活动”,并以回帖的方式进行(前 500 名回复者获得奖励)。为了参加活动,你需要报名然后快速回帖,如果几万个人同时回帖,并发肯定极大,很可能导致回帖直接卡住,这时候先报名的同学根本无法回帖,只能不断进行重试,那有没有更公平有效的方式保证先来先得呢? Node.js 适合做这种通用的高并发服务,正好可以解决这类并发抢票的问题,所以接下来我就用两讲的 2021-09-15
Node.js RESTful 应用实践:构建一个介于前后台之间的服务 在学习了 Node.js 相关的知识以后,我们怎么才能在实际工作中将这些知识应用起来呢?在这之前,我们应该思考,是完全应用 Node.js 改造原来的后台,还是与现有后台技术,进行兼容。 这一讲,我就带你掌握如何快速地在项目中尝试应用 Node.js ,构建一个介入前后台之间的服务,逐步替换部分线上后台服务。 架构设计以当时的团队情况为例,当时,我们的团队有 30 多人,具备后台服务,但为了尝试 2021-09-13
Node.js 理论先行:高并发设计必须学的知识点有哪些 前面几篇讲性能相关的知识点,都是基于单个接口或者单个服务,从这一讲开始,将从系统层面设计高并发的系统,所以掌握单个接口技术性能相关的知识远远不够,还要拓展更多的知识点,比如服务器内核配置、单机单服务部署和多机多服务部署、多机器负载均衡策略以及如何做并行压测等。 那么今天,就先带回顾一下前面第 1、6、7、8 和 9 讲的设计要点,然后在此基础上,带学习一些需要进一步实践的相关知识。 知识回顾对于单 2021-09-10
Node.js 工具应用:使用 clinicjs 工具实现通用性安全检查 在该模块的文章中,我们都是先有问题,然后再定位分析解决问题,那么是否有方法能够在出现问题之前检测问题呢?那就需要用到本讲要介绍的 clinicjs 工具,在上线之前通过自动化的方式来发现问题。 clinicjs 是什么介绍clinicjs 是一个 Node.js 的第三方工具,clinicjs 官网介绍了其核心的目的是,帮助诊断和查明 Node.js 性能问题的工具。那么它具体能帮助我们定位查询哪 2021-09-08
Node.js 网络安全:常见网络攻击以及防护策略 Node.js 作为后台服务,网络相关的安全措施也非常重要,互联网一些常见的网络攻击策略,我们都应该在框架层面去杜绝。本讲就介绍一些常见的网络攻击方式,并介绍如何在框架中增加这类问题的防护措施。我会着重介绍 Node.js 作为后台服务,自身所需要注意的安全问题,为后续我们在线上的应用提供一个参考。 常见的网络攻击这些网络攻击有XSS、CSRF、SQL 注入以及 Dos,在 Node.js 作为后 2021-09-05
Node.js 性能分析:性能影响的关键路径以及优化策略 模块一的《06 | 哪些因素会影响 Node.js 性能?》,我们详细讲解了影响到 Node.js 性能的一些因素,但是在实际开发过程中,我们应该如何去定位影响性能的关键因素呢?定位到性能问题后,又该如何去优化这部分功能呢?以上就是本讲要介绍的核心知识点。 工具介绍在讲解性能分析实践之前,我们先来看看性能分析所应用的两个比较关键的工具: 压测所使用到的 WRK(Windows Research 2021-09-02
Node.js 系统稳定:如何监控和保护进程安全 前面主要介绍了进程的安全,而内存的泄漏异常是进程安全的其中一种场景,那么本讲我们就来详细介绍一下,什么是内存泄漏以及当出现内存异常时,我们应该如何去分析并定位具体的问题。其次在上一讲中,我们提到了需要优化 router 这个中间件,我们将在本讲末说明下。 内存泄漏 内存泄漏(Memory Leak)是指程序中已动态分配的堆内存,由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度 2021-08-29