最近有个客户想通过Dynatrace的PurePath技术来分布式跟踪基于AMQP协议的远程调用(RPC),询问我Dynatrace是否支持AMQP协议?回答是肯定的,Dynatrace默认支持AMQP协议。一般情况下 ,开启与AMQP协议相关的传感器组就可以监控从AMQP消息的生产者(Producer)到AMQP消息的消费者(Consumer)的消息传送过程,对AMQP协议实现跨进程的执行链路分布式跟踪。
为了验证Dynatrace支持AMQP协议的效果,我自己搭建了一个简单的,基于AMQP协议的应用程序。这个应用程序是由Spring AMQP的指导案例演变而来,它由一个AMQP消息的生产者(Producer)和AMQP消息的消费者(Consumer)组成,这两者之间通过本的RabbitMQ服务通信,生产者同时也是Web应用服务器,它接受用户的Web请求,并把Web请求通过AMQP协议发送给消费者,消费者接收并处理消息,将处理结果返回给生产者(Producer),Web应用服务器再将结果呈现给用户,其架构图如下。