我想使用aws x-ray跟踪部署为aws lambdas的spring micro服务之间的调用。
设置如下:
>
微服务B,apiendpoint部署为aws lambda,通过https调用微服务A
两种微服务都包括aws对X射线的依赖关系:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-xray-recorder-sdk-bom</artifactId>
<version>1.2.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-xray-recorder-sdk-core</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-xray-recorder-sdk-apache-http</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-xray-recorder-sdk-aws-sdk</artifactId>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-xray-recorder-sdk-aws-sdk-instrumentor</artifactId>
</dependency>
</dependencies>
对于这两种微服务,已通过无服务器应用程序模型sam.yaml文件启用跟踪:
Resources:
FunctionA:
Type: AWS::Serverless::Function
Properties:
Handler: example.HandlerA::handleRequest
Runtime: java8
CodeUri: target/foo.jar
MemorySize: 512
Tracing: Active
Policies:
- AWSLambdaBasicExecutionRole
- AWSXrayWriteOnlyAccess
Timeout: 20
Events:
GetResource:
Type: Api
Properties:
Path: /{proxy+}
Method: any
虽然我可以在x射线web界面中看到对服务A和B的单独调用的跟踪,但对A的B调用不会显示为复合跟踪。
有什么想法吗?可能我需要实例化一个servlet过滤器。仅仅包含依赖项是不够的,对吗?
此时,Amazon API网关未传播x-amzn-trace-id头。
听起来您的AWS Lambda函数可能部署在API网关endpoint之后。由于API Gateway与AWS X-Ray集成中的这一限制,目前无法将此操作作为一个连续跟踪进行跟踪。
在单个连续跟踪中跟踪此操作的一种方法是让microservice B使用AWS Lambda调用API直接调用microservice a。此API确实尊重x-amzn-trace-id标头(该标头将自动添加到调用请求中,因为您的项目中包含了aws x射线记录器sdk aws sdk instrumentor工件)。
后端的这两个模型在前端有它们的对应。我添加_links部分是因为Spring Rest api提供链接而不是外键: 我根据从API获得的信息创建了这些模型。例如,localhost:8080/api/b/1上的get请求给出: 我可以使用下面所示的angular 2服务方法轻松地在表A中插入新行(因为它不包含外键): 在Spring中,当我试图将新行插入到表B中时,会出现以下错误: 我想知道htt
在这种情况下,优化sockets java中的perfomance,使用sockets是BufferedWriter还是PrintWriter更好?
我正在努力正确配置nginx,以确保它可以处理Express(端口8081)和Socket的代理。io(端口3000)。下面是我的配置,它当前为整个请求(不仅仅是Socket.io)产生了502错误: 据我所知,我需要确保Socket使用的Websocket。io已升级到HTTP,但这正是我努力掌握自己需要做什么的地方。可能是两个插座。io和Express需要在不同的端口上运行,然后需要根据我上面
我跟着Spring走。io是一个关键的教程,可以让REST API与MySQL DB一起启动,一切都进展顺利。然而,我发现了一个我无法配置或解决的行为。 当我使用内置功能从PagingAndSortingRepository中检索资源时,生成的剩余资源会自动分页,并用有用的HAL链接(链接、self、搜索、链接资源等)进行封装。我想用这个。 当我实现我的控制器来定制PostMapping行为并引入
我有不同实现的< code>ProductHandler类,例如< code>ABCProductHandler、< code>DEFProductHandler等..它们是使用如下所示的命令模式从< code>ProductServiceImpl类调用的。 产品ServiceImpl类: 但是,我对上面的 类不满意,因为有很多带有样板代码的产品 调用。 现在,我的问题是,有什么方法可以轻松加载?
问题内容: 我试图了解如何在使用Spring进行事务管理的Java应用程序中实现线程。我已经在Spring文档中找到TaskExecutor部分,并且ThreadPoolTaskExecutor看起来很适合我的需求。 ThreadPoolTaskExecutor 该实现只能在Java 5环境中使用,也是该环境中最常用的一种。它公开了用于配置java.util.concurrent.Thre