帮助公司引入 nodeJs(Web框架为 egg ) 后的一些感受与总结

接近快两个月没有更新博客了,总结有以下几种原因

  1. 6月房子到期了,要找新地方租房啦加上基友出差,每周末等他回来一起去看房,真累,并且和上个房东还就押金的事有很多冲突生活不简单呀;
  2. 部门 php 资源有点不够,上司同意并建议引入 nodeJs,我也终于等到了这一天,于是开始查看 egg 文档,发现跟 koa 一样,上手难度基本没有,也不愧是阿里巴巴的企业级开源框架,从半自然路由方式到 MVC 的分离已经做的极好了,在日志系统与定时任务上也已经做的相当完善,并且直接引入 cluster 模块,使用 TCP 建立 master 进程去 fork 复制 cpu 数量的子进程去执行业务代码,还在 master 中独立引入了 agent 层去处理一些公共配置逻辑,可以说在集群的稳定性方面下了一定的功夫了,在 《NodeJs 深入浅出》 第九章的总结内,我会总结这个集群的创建原理;
  3. 既然已经写到了这篇博客,当然就代表我已经将 egg 搭建并已经成功上线了 2 个活动模块啦,其中的基础设施为了方便 php 的同事以及老大去 review,我基本上就是复刻了部门 php 架构的基础设施,现在暂时是将目前要用的都引入了,后面用到哪个就再继续重构哪一部分就好,php 嘛虽然不怎么会写,但是看懂完全没有问题~遇到不知道的函数 百度 谷歌就好(对了,我们老大是 php 出身,所以写 node 的时候我尽量是复刻了 php 内的所有逻辑,只是将一些注入方式改为了适合 egg 的方式);
  4. 最后一个原因,当然是懒啦= =。。。其实要写的话上两周肯定是有一定的时间去写的。

接下来说说在基础设施的搭建以及上线 2 个活动模块的一些总结吧。

关于配置文件的动态环境注入与改造

  • 关于本地开发启动 egg-bin 时的配置注入,我没有进行任何改动,仍然是 extend(default, local),即 local 配置去合并 default,不一样的是,我们将 local 配置进行了抽离,每个开发同事的 local 配置都是个人的,在 git 提交代码时,是不提交 local 的,所以我们将通用的中间件配置(如 cors、session、bodyParse 等)写在了 default 中,而将业务配置(如 mysql的多个连接配置、redis配置、业务模块配置等)写在了 local 中,原因就是为了每个同事去开发时只用关注自己模块的配置,而不需要关注其他业务的配置(因为每个活动模块都是独立的),这就是本地配置的抽离;
  • 关于测试环境配置的抽离,我们遵循了 php 架构的分离方式,我将 test 配置由单元测试的命令改成了环境命令,即运行 start 时更改 process.env.NODE_ENVEGG_SERVER_ENV为 “test” 并启动 egg-script,而 test 的配置我们在本地的 git 也是处理 .ignore 列表中的,不允许上传,需要更改 npm run start 的配置时需要登录到测试服务器中直接更改 config.test.js 文件,杜绝了所有人都能随意更改的情况,由此可以看出测试环境与本地配置的不同,本地 local 配置,我们每个人是各自为战的,到测试环境后,会存在每个人的业务配置(因为是测试环境嘛哈哈,这就不解释了),有同学会吐槽了,恩?你们的单元测试呢?哎呀。。。暂时我们不会写单元测试,所以嘛,我先把它干掉了,因为我们多为活动模块,开发时间短,活动周期短,讲究敏捷开发,实际上我们没有时间写单元测试,如果以后
  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值