我有以下要求,其中任何开源库都将涵盖所有这些。
1.We are building a distributed micro service architecture with Spring Boot.Which includes more than 100 micro services.
2.There is a lot if inter micro service communications possible to achieve single transaction.
3.We want to trace every micro service call and the trace should provide following information.
a.Transaction ID/Trace ID
b. Back end transaction status-HTTP status for REST.Like wise for SOAP as well.
c.Time taken for that call.
d.Request and Response payload.
Currently we are achieving this using indigenous tracing frame work.Is there any open source project will handle all this without any coding from developer.I know we have few options with spring Boot Cloud Zipkin,Seluth etc does this handle above requirements.
答案 0 :(得分:1)
我的项目与您的要求类似。恕我直言,Spring-cloud-sleuth + Zipkin在我的情况下效果很好。
对于任何微服务之间的通信,我们都使用Kafka,并且Spring-cloud-sleuth + zipkin可以毫无问题地跟踪所有调用,从REST-> Kafka-> More Kafka-> REST。
要启用Kafka跟踪,只需添加
spring:
sleuth:
propagation-keys: some-key
sampler:
probability: 1
messaging:
kafka:
enabled: true
我们还使用Azure ApplicationInsights进行集中记录,该记录已与Spring Cloud很好地集成在一起。
上面的希望给了您使用Sleuth + Zipkin的信心。