当前位置:网站首页 > iOS应用开发 > 正文

Web应用开发框架-egg进阶与实战(三)——总结之debug、日志、多进程、错误处理、多实例插件、多进程增强、实战-简易博客

Web应用开发框架-egg进阶与实战(三)——总结之debug、日志、多进程、错误处理、多实例插件、多进程增强、实战-简易博客

第三章 EGG进阶与实战

  • debug
  • 日志
    • 存储路径
      • 开发环境默认
      • 生产环境可以指定
    • 日志分类
      • error
      • warn
      • info
      • debug
      • none
    • ctx.logger
    • app.logger
    • 切割
      • 大小
      • 时间
        • 小时
    • 性能
      • 默认1秒写入一次
  • 多进程
    • 相比nodejs原生 新增了一个agent的概念
    • agent
      • 应用场景
        • 长连接
      • 特点
        • 出错master不会重启,需要时刻关注日志
    • 进程通信
      • messenger
        • 特点 挂载在 app 和 agent下面
        • broadcast 所有人
        • sendToApp
        • sendToAgent
        • sendRandom
        • sendTo
  • 错误处理
    • Try catch
      • 问题: 只能catch当前事件循环的错误
      • Ctx.runInBackground
    • 注意: 一定要抛出error类型
    • 统一异常处理的方式
      • 500
        • Config.onerror.all
        • 中间件
      • 404
        • Config.notfound
        • 中间件
  • 多实例插件
    • app.addSingleton
      • 创建多实例数据库
        • App.js 调用app.addSingleton
        • Config 配置数据库
      • 动态 创建数据
        • 远程获取配置
        • app.mysql创建实例
  • 多进程增强
    1. 每一个worker都和socket服务器进行连接, 造成n*m的问题
    2. agent连接,但是agent和worker的通信需要 master转发,效率低,不稳定
    3. agent和socket服务连接,但是 agent和worker会创建本地socket通道
    • 核心思想
      • Leader/Follower
        • 来源于多线程
      • Leader 和远程连接,通过内部的socket和woker通信
    • client抽象类
      • 发布,订阅
      • 调用类 (读取数据)
        • 只是对类的抽象,随便你怎么实现
    • 异常的处理
      • leader死掉 follower会抢
      • 心跳机制
  • 实战- 简易博客
    • mongoose
      • 对mongoDb的抽象,类似jq
      • schema
        • 对字段的描述
      • model
        • 表的名称
    • 正式开发
      • 配置数据库
        1. 安装依赖 npm init egg —type=simple
        2. 安装插件 egg-mongoose
        3. 配置 plugin.js
        4. 配置 config.default.js
          1. 选择数据库 blog
      • 设计schema
        • 字段名
          • content
          • title
        • app/model/posts.js
        • return model class
      • 设计路由, 数据库新增数据
        • Route.resources
        • new model
        • Instance.save()
到此这篇Web应用开发框架-egg进阶与实战(三)——总结之debug、日志、多进程、错误处理、多实例插件、多进程增强、实战-简易博客的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • ios正式包ipa,发布苹果应用商店App Store2024-12-03 10:27:04
  • java ios开发_使用Java开发iOS应用_java做ios开发2024-12-03 10:27:04
  • iOS应用开发类库TSNetwork2024-12-03 10:27:04
  • IOS常用框架2024-12-03 10:27:04
  • 探索iOS开发语言基础与Xcode工具:从零开始构建你的第一个iOS应用2024-12-03 10:27:04
  • Web应用开发框架-egg进阶与实战(一)——debug调试步骤、日志之日志路径、日志分类、日志级别、如何打印日志、文件日志级别、日志切割、日志影响性能2024-12-03 10:27:04
  • Web应用开发框架-egg(四)——egg总结之egg快速入门、内置对象、运行环境、config配置、中间件、路由、控制器、服务service、插件、定时任务、自定义启动2024-12-03 10:27:04
  • Web应用开发框架-egg(三)06-基础功能——插件之定义插件、编写插件 & 定时任务 & 自定义启动app2024-12-03 10:27:04
  • Web应用开发框架-egg(三)04-基础功能——路由之定义Router、restful风格的URL定义、获取路由参数2024-12-03 10:27:04
  • Web应用开发框架-egg(三)03-基础功能——中间件之编写中间件、中间件的配置、使用中间件、在框架和插件中使用中间件 & 中间件的通用配置项2024-12-03 10:27:04
  • 全屏图片