描述了使用 Sequelize 操作 MySQL 时遇到的中文乱码问题及其解决过程。通过调整 Sequelize 配置字符集、修改 MySQL 配置文件以及参考社区解决方案,最终通过设置 dialectOptions 中的 charset 为 utf8 成功解决问题,实现了中文字符的正常读写。
描述了使用 Node 和 PM2 部署服务时因旧配置未清理导致 CPU 占用率高的问题。通过停止服务、删除错误的 PM2 配置、重新启动正确路径的应用并保存配置,成功解决了问题,同时清空了日志文件以减少存储占用。
介绍了前端资源灰度分流的背景及四种解决方案,重点推荐后端接口重定向方式,通过 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` 的优先级等,最后总结了两者在任务队列执行时机上的不同。