Apache camel SOAP调用需要多少时间
目前,我们正在使用ApacheCamel(带有SpringBoot)作为集成平台。我们有多个后端系统要集成。我们通常使用apachecxf和CXF-RS来调用这些系统 我们希望记录我们等待后端系统的时间,以及应用程序带来的开销 我们已经创建了一个Apache camel SOAP调用需要多少时间,apache-camel,cxf,spring-camel,Apache Camel,Cxf,Spring Camel,目前,我们正在使用ApacheCamel(带有SpringBoot)作为集成平台。我们有多个后端系统要集成。我们通常使用apachecxf和CXF-RS来调用这些系统 我们希望记录我们等待后端系统的时间,以及应用程序带来的开销 我们已经创建了一个EventNotifierSupportbean,可以在其中记录以下内容: ExchangeCreatedEvent和ExchangeCompletedEvent事件之间的时间。我认为这大约是满足请求所需的全部时间。(全职作为我们的开销和后端系统的时间
EventNotifierSupport
bean,可以在其中记录以下内容:
和ExchangeCreatedEvent
事件之间的时间。我认为这大约是满足请求所需的全部时间。(全职作为我们的开销和后端系统的时间)ExchangeCompletedEvent
- 我可以记录
通知的ExchangeSentEvent
属性timetake
timetake
属性中
什么是衡量我们等待后端系统的时间的合适的Camel方法?Camel支持通过JMX支持开箱即用的可跟踪性。您可以实时深入查看各种分辨率,例如路由或单个端点,并且它可以仅使用JConsole报告最小/最大/平均完成时间等。这至少可以让您了解在各个端点上调用的后端进程的请求->响应时间
记录在案:我认为我能够为SOAP请求测量更精确的时间,如果
- 我已经实现了一个
(基于org.apache.cxf.interceptor.interceptor
类-我还需要设置构造函数参数!)org.apache.cxf.interceptor.MessageSenderInterceptor.MessageSenderIndingInterceptor
- 我将这个拦截器注册到CXF端点,正如这里提到的:
我没有测试过这个解决方案,也没有再实现它。但是如果我将来要面对这个问题(你好,未来的谷歌人,我!),我会开始关注这些地方 是的,我已经看到了其中的一些指标,但我没有看到任何一个指标像我希望的那样详细。你需要深入研究SOAP调用中使用的任何Camel组件,并使用其日志记录或它所具有的任何优秀级别的计时。或者看看一些TCP包级网络工具等。克劳斯,我们用模拟响应模拟器取代了后端,该模拟器以固定的500毫秒延迟发送每个响应。我们的集成平台具有巨大的负载,使用CXF组件的Camel
timetake
属性返回测量值长达25-30秒,而我们有证据表明每次响应都在510ms左右到达。