介绍了前端资源灰度分流的背景及四种解决方案,重点推荐后端接口重定向方式,通过 302 重定向实现灵活的资源分流。技术上利用 MurmurHash 控制灰度比例,并结合 JsonLogic 定义流量准入条件,确保分流规则的灵活性和一致性,适用于多场景的灰度实验和资源管理。
描述了 MySQL 服务因硬盘空间不足而停止的排查与解决过程。通过检查根目录空间占用情况,发现 /root/.pm2 目录中日志文件过大,清理后成功启动 MySQL 服务,并进一步通过错误日志定位问题源头为 Node 服务的模块缺失。
介绍了 X-Real-IP 和 X-Forwarded-For 的用途及区别,X-Forwarded-For 更标准化,用于记录客户端及代理 IP 地址链。通过 Nginx 配置或 Koa 获取客户端真实 IP 的方法示例也被详细说明,推荐优先使用 X-Forwarded-For。
探讨了高性能短链系统的设计思路,涵盖短链的优点、工作原理及生成方法。通过哈希算法和自增序列生成短链,并解决哈希冲突和高并发问题。引入 openResty 提升并发性能,强调技术点如布隆过滤器、页分裂等对系统设计的影响,提供多种设计方案以提高系统效率和可扩展性。
介绍了在 Debian 系统中安装 Nginx 的简单步骤。通过 `apt update` 和 `apt install nginx` 安装后,使用 `curl -I 127.0.0.1` 验证服务是否正常运行,输出 HTTP 200 表示安装成功。
详细介绍了在 Debian 10 上安装和配置 MongoDB Community Edition 的步骤,包括添加 MongoDB 官方仓库、安装所需包、启动服务和启用认证等。通过配置文件启用授权功能,并创建管理用户以增强安全性,确保数据库访问受控。
介绍了 serverless 的概念、架构组成 (BaaS 和 FaaS)、与传统架构的区别、优缺点及适用场景。serverless 通过事件驱动和第三方管理,降低了开发、运营和启动成本,适合构建轻量级、高弹性应用,但存在冷启动延迟、高并发限制及对服务商的依赖等问题,常用于通知发送、数据统计、定时任务和聊天机器人等场景。
概述了 JavaScript 的异步原理,比较了浏览器与 Node.js 中 Event Loop 的差异。介绍线程与进程的概念、多线程模型及浏览器内核的多线程机制,详细解析了浏览器和 Node.js 的事件循环流程,包括宏任务与微任务的执行顺序、`setTimeout` 与 `setImmediate` 的区别、`process.nextTick` 的优先级等,最后总结了两者在任务队列执行时机上的不同。
描述了在 Nginx 中配置 SSL 证书的步骤,包括创建 cert 文件夹、上传 .crt 和 .key 文件、配置 443 端口监听及 SSL 参数,并设置 HTTP 重定向到 HTTPS。最后通过重启 Nginx 应用配置,若无法访问可检查防火墙是否开放 443 端口。
介绍了 NodeJS 和 pm2 的安装与配置,包括启动服务、开机自启及 package.json 脚本设置。提供了 Nginx 配置示例,通过反向代理实现与 NodeJS 的集成。结合 Express 框架,展示了基本路由的实现及调试注意事项,强调 pm2 在服务管理中的高效性和便捷性。