Can anyone tell me, is there any way to integrate Zipkin (if possible Sleuth also) for non-spring boot projects?
I am trying to integrate Zipkin for my traditional spring application. It is not a microservice. How could I do this? Any suggestions, please?
Thanks.
You should use e.g. openzipkin Brave project or Opentelemetry projects directly. Sleuth works only with boot based projects
Related
If I understand the answer to this question correctly, Spring Cloud Sleuth will be replaced by Micormeter Tracing with Spring Boot 3. My experiments with Spring Boot 3 milestone 3 to implement tracing have failed so far. Is there an example project somewhere that I can use to guide me.
BTW: Here are my experiments https://github.com/stse/spring-boot-otel. I try to use micrometer tracing and open telemetry to push traces to new relic via Otlp and Grpc.
This blogpost from Spring Team will help to set it up: https://spring.io/blog/2022/10/12/observability-with-spring-boot-3
Also, I have come up with a sample Spring Boot 3 + Micrometer project here - https://github.com/kishorek/java/tree/main/spring-observability-demo.
I am using Zipkin Brave as distributed tracing implementation. I have created a python service consumed by the Spring boot service. Please refer to the README.
I am new to spring framework. I have a confusion regarding spring boot and spring cloud.
I used https://start.spring.io/ to initialize a spring boot application. I think I am using the spring boot framework. However, I would like to use some spring cloud dependencies such as spring-cloud-stream-binder-kafka.
Question 1: If I added this dependency above to my spring boot application, I am wondering if I still can go with the spring boot framework, or I have to change to spring cloud framework.
Question 2: I am wondering if there is any difference when deploying the spring boot or spring cloud application. Or, they just have the different frameworks, and we could deploy them in the same way.
Thank you so much!
You can use together Spring Boot and Spring Cloud packages.
Spring Boot is just a preconfigured Spring Framework with some extra functionalities. It also uses library versions compatibile with each other. Spring Cloud is also the part of the Spring ecosystem, contains libraries that mostly used in cloud applications.
In the background, these packages will pull all necessary Spring (and other) libraries into your project, as transitive dependencies.
So you can use the generated pom/gradle, and add other dependencies. In this case Spring boot will be your core and cloud add extras.
I want to implement Zipkin and Sleuth on vert.x application. I have Zipkin server application with Spring Boot and Spring Boot Services and its okay. I have added dependencies and setup them in application.properties and its working good. But I have one vert.x application and I have found it difficult to implement the Zipkin there. I have searched but I did not found some good example on how to implement it on vert.x application. So, what I need to do to implement the Zipkin in the vert.x application?
I have a Spring Boot Reactive application using Functional Endpoints ( Kotlin) that uses Spring Cloud Sleuth. I want to customize the response headers to include the trace id. I looked at the manual and saw the section on using the TraceFilter : 1
I tried to do the same using a TraceWebFilter, but it doesn't expose the constructors. Is there a way to implement this customization when using the Reactive Web Framework.
I am using version 2.0.0.M5 for Spring Cloud Sleuth
Thanks in advance!
Please check out the latest master - we've migrated to Brave. You can write your WebFilter that will delegate to TraceWebFilter. Or you can just copy our TraceWebFilter and alter it in the way you need to.
I have been using Spring Boot for a short while and it's great for getting things up and running quickly.
Is anyone working on a template for integrating Mule ESB with Spring Boot ?
Not sure if Mule will be charge of this or not. But you can suggest this in the spring-boot project in github
An approach could be use queues , so mule expose a functionality as queue enpoint and spring boot send and receive string messages to mule queue. I have seen it work in complex scenarios.
Latency will increase but the core of integrations will remain in mule esb.
Other approaches:
Starting mule programmatically from spring boot: http://glawson6.github.io/spring/mule/2015/04/22/using-spring-boot-with-mule.html (not tested)
https://github.com/denschu/mule-spring-boot-starter(not tested)
HTH