当前位置: 首页 > 知识库问答 >
问题:

在AWS X-Ray中为lambda函数和微服务创建单个服务映射

孔硕
2023-03-14

我有一个AWS lambda函数,它有x射线跟踪(子段),从内部,有一个对微服务的http调用(NodeJS-used fetch),它再次实现了x射线跟踪(子段)。当我点击lambda函数的服务url时,在X-Ray中创建了两个服务映射:一个用于lambda,另一个用于microservice。是否有一个单一的服务地图可以同时为两者提供服务?我们是否可以将跟踪id传递给下游http调用(NodeJS使用的fetch)以获取单个服务映射?

共有1个答案

颜文康
2023-03-14

AWS X-Ray SDK可以捕获传出的http请求。当它这样做时,它将添加一个X-Amzn-Trace-Id头,让插入指令的下游服务知道继续跟踪。

您需要修补全局http/https节点。带X射线的js模块,以便发送此标头。您可以使用AWSXRay。captureHttpsGlobal方法,传入require('https')或require('http')作为参数。您想要全局捕获模块的原因是因为您正在使用fetch,它应该在幕后使用http/https。

 类似资料:
  • 假定用户需要创建的Web服务 服务名称 版本号 监听地址 网络类型 读取请求数据超时 写入响应数据超时 myapp 1.0 0.0.0.0:8080 http 0 0 无版本号的服务 func main() { ... app := faygo.New("myapp") ... 注:相应的配置文件为config/myapp.ini 含版本号的服务 func main() { ...

  • 我读了一些文章,看了一些视频,但在为这些微服务提供服务方面,没有找到具体的建议。我的理解是,他们应该使用自己的应用程序服务器。 我的问题是它们应该部署在不同的服务器上,还是没关系。 当它们在同一台服务器(计算机)上提供服务时,不会有端口冲突吗?

  • 我正在尝试学习并使用Spring Cloud创建一个微服务。我正在使用Spring mvc和Spring Boot进行开发。我为Eureka服务器和Zuul客户端添加了单独的Spring Boot应用程序。我现在有三个Spring引导应用程序。一台Sureka服务器,一台用于Zuul路由,第三台用于我的微服务应用程序。我运行Eureka服务器,发现微服务和Zuul在Eureka服务器UI中正常运行

  • 假定用户需要创建的Web服务 服务名称 版本号 监听地址 网络类型 读取请求数据超时 写入响应数据超时 myapp1 1.0 0.0.0.0:8080 http 0 0 myapp2 2.0 0.0.0.0:8081 http 0 0 无版本号的服务 func main() { ... app1 := faygo.New("myapp1") app2 := faygo.New("mya

  • 假定用户需要创建的Web服务 服务名称 版本号 监听地址 网络类型 读取请求数据超时 写入响应数据超时 myapp 1.0 0.0.0.0:8080、0.0.0.0:4430、0.0.0.0:4431 http、https(TLS)、https(Let’s Encrypt TLS) 0 0 无版本号的服务 func main() { ... app := faygo.New("myapp"

  • 我有几个微服务,每个微服务都有用于CRUD操作的RESTendpoint。我必须创建一个工作流,该工作流将从一个带有一些初始输入的微服务开始,但一个微服务的稍后输出可以用作其他微服务的输入。可以对这些REST API进行一些同步和异步调用。 我已经寻找了一些工作流引擎,但我不认为我可以在不编写任何java代码的情况下创建我的工作流。