20200815

@czhang
  • date: 20200815
  • author: czhang

Plan

深入浅出 Nodejs

Notes

Cluster 模块

  1. 创建单机 Node 集群
  2. 原理:内部启用 TCP 服务器,在 cluster.fork()时,将 socket 文件描述符发给工作进程

产品化

  1. 项目工程化
    • 目录结构
    • 构建工具
    • 编码规范
    • 代码审查
  2. 部署流程
    • 部署环境
    • 部署操作
  3. 性能:
    • 动静分离
    • 启用缓存
    • 多进程架构
    • 读写分离
  4. 日志
    • 访问日志
    • 异常日志
    • 日志与数据库
    • 分割日志
  5. 监控报警
    • 监控 日志监控 响应时间 进程监控 磁盘监控 内存监控 CPU 占用监控 CPU load 监控 I/O 负载 网络监控 应用状态监控
    • 报警实现 邮件报警 短信或电话报警 监控系统稳定性
  6. 稳定性
    • 多机器
    • 多机房
    • 容灾备份
  7. 异构共存

测试

  1. 单元测试
    • 断言
    • 测试框架:
      1. TDD(测试驱动开发)关注所有功能是否被正确实现
      2. BDD(行为驱动开发)关注整体行为是否符合预期
  2. 性能测试
    • 基准测试
      • 多少时间内执行来多少次某个方法 benchmark 对测试有严密的抽样过程
    • 压力测试
      • 对网络接口进行压力测试,判断网络接口的性能 关注 吞吐率 响应时间 并发量 工具:ab siege http_load

More