【发布时间】:2016-08-03 20:56:11
【问题描述】:
我正在尝试找出一种适当的方法来通过我的堆栈携带请求 ID(来自 restify 请求标头的 x-request-id);跨节俭的服务间调用,以及rabbitmq队列消息。目标是在任何地方、任何服务中,我都可以将错误或事件关联回发起的 http 请求。是否有使用 Node 执行此操作的已知做法?我想避免在几乎每个函数调用中传递上下文。
我研究了 New Relic 处理仪器的方式,还有这个博客:https://opbeat.com/blog/posts/how-we-instrument-nodejs/;但是这些类型的检测需要挂钩到大量的节点核心库调用,并且对于在 thrift 调用中传递上下文并没有真正的帮助。
如何从请求中获取诸如“x-request-id”之类的 restify 标头 ID,并在我的堆栈中更深入地访问它(即使在异步回调中),而无需修改每个函数以传递值?
我也在寻找一种干净的方法来通过所有 thrift 调用(跨服务边界获取它)。
这适用于 TypeScript 和 Node.js 5.x
谢谢!
【问题讨论】:
标签: node.js typescript microservices restify