NodeJS微服务APM
上微服务时,我们必需有全链路追踪、应用程序性能监测(APM)。开源的Elastic Stack是一个不错的选择,它包含日志、指标、APM、搜索、Kibana等。使用Elastic Stack做NodeJS APM时,使用起来非常方便,代码也无入侵。
只需在程序的前面添加一行代码: const apm = require('elastic-apm-node').start()
; 然后添加环境变量ELASTIC_APM_SERVER_URL
,正常启动程序: node index.js
。
能如此方便地使用,也是得益于NodeJS的事件模型、async_hooks
与elastic-apm-node
,其中的elastic-apm-node
已经帮我们创建好同步或异步流程中的Transaction与Span。大部分时候,我们只需写好自己的业务代码。
样例代码:apm-nodejs-app-a、apm-nodejs-app-b、apm-nodejs-app-c
继续阅读→