摘要:说明 nginx日志按天分片是运维的基本要求,不仅可以减小文件大小,方便检索关键数据,也可以定时删除过期的日志。可是nginx和tengine默认并不支持文件分片,因此需要额外处理。 另外,日志分片需要借助 ngx_http_log_module 模块,默认通过yum安装的nginx并不携带此模块, 阅读全文
posted @ 2019-10-12 15:47 royalrover 阅读 (27) 评论 (0) 编辑
摘要:背景 目前微店中台团队为了满足公司大部分产品、运营以及部分后端开发人员的尝鲜和试错的需求,提供了一套基于图形化搭建的服务端接口交付方案,利用该方案及提供的系统可生成一副包含运行时环境定义可立即运行的工程代码,最后,通过 “某种serverless平台” 实现生成后代码的部署、CI、运行、反向代理、进 阅读全文
posted @ 2019-08-20 09:22 royalrover 阅读 (202) 评论 (0) 编辑
摘要:远程调试 所谓远程调试,是指在本地IDE或命令行即时调试服务端代码,这在预发环境的测试阶段可以使用。远程调试避免了服务端环境的模拟,可快速定位bug。 node应用调试 本文的教程主要针对采用 VS Code IDE的群体。目前并未搭建一个系统专门支持node应用远程调试,因此需要开发人员手动去对应 阅读全文
posted @ 2019-05-15 18:28 royalrover 阅读 (112) 评论 (0) 编辑
摘要:本文是根据2019.4.13日参加 “Node Party”论坛使用的PPT,加上笔者新的思考与沉淀而来。在此再次感谢 贝贝网前端部门和芋头君以及相关与会人员的支持! —— 微店杨力(曾用名 欲休) 1. Node EE的前世今生 什么是 Node EE Node EE的诞生 Node EE范畴 总 阅读全文
posted @ 2019-05-09 10:51 royalrover 阅读 (283) 评论 (4) 编辑
摘要:Rockerjs Core "项目地址" "项目主页" 基于 TypeScript 和注解的轻量级IoC容器,提供了依赖注入、面向切面编程及异常处理等功能。Rockerjs Core可在任意工程中引入,是一个框架无关的IoC容器。 @rockerjs/core 模块不依赖于任何框架,并与现有框架、库 阅读全文
posted @ 2019-03-21 10:13 royalrover 阅读 (253) 评论 (0) 编辑
摘要:一步步学会用docker部署应用 docker是一种虚拟化技术,可以在内核层隔离资源。因此对于上层应用而言,采用docker技术可以达到类似于虚拟机的沙盒环境。这大大简化了应用部署,让运维人员无需陷入无止境繁琐的依赖环境及系统配置中;另一方面,容器技术也可以充分利用硬件资源,做到资源共享。 本文将采 阅读全文
posted @ 2019-02-28 15:56 royalrover 阅读 (1826) 评论 (0) 编辑
摘要:数据库与缓存双写问题 计算机领域任何一个问题都可以通过增加一个抽象“层”来解决。 业务中为了减少热点数据不必要的db查询,往往会增加一层缓存来解决I/O性能。可是I/O多了一层也就多了一层的更新维护与容错保障,当修改db中某些数据时,往往会面临缓存更新的问题,在这里简单介绍 数据库与缓存双写问题以及 阅读全文
posted @ 2018-12-17 08:09 royalrover 阅读 (336) 评论 (0) 编辑
摘要:问题初现 某基于node.js开发的业务系统向外提供了一个dubbo服务,提供向第三方缓存查询、设置多项业务数据并聚合操作结果。在QPS达到800时(两台虚拟机,每台机器4Core8G4node进程),在监控平台上出现了非常多的slow rt警告,平均接口响应达到60+ms,请求报警率达到80%+。 阅读全文
posted @ 2018-10-30 09:49 royalrover 阅读 (1037) 评论 (1) 编辑
摘要:整个九月份由于业务繁重以及玩心颇重,一直没有机会来写一篇博文。而且笔者于十月一日将会举办人生大事 婚礼,现在家里筹办过程中只能抽出零碎的时间来写这篇文章。 关于服务端截图,这种使用场景非常少见,大多服务器不同于PC机器并不提供相关图形界面以及图形库,所以对不同的系统的不同版本的服务器需要安装不 阅读全文
posted @ 2018-09-28 09:25 royalrover 阅读 (1271) 评论 (2) 编辑
摘要:场景 实际业务中可能出现重复消费一个可读流的情况,比如在前置过滤器解析请求体,拿到body进行相关权限及身份认证;认证通过后框架或者后置过滤器再次解析请求体传递给业务上下文。因此,重复消费同一个流的需求并不奇葩,这类似于js上下文中通过 deep clone一个对象来操作这个对象副本,防止源数据被污 阅读全文
posted @ 2018-08-20 11:07 royalrover 阅读 (612) 评论 (0) 编辑