Spring Cloud Netflix Sleuth digunakan untuk membuat log tracing antar service. Sleuth dalam melakukan tracing, dia menggunakan Trace ID dan Span ID. Trace ID merupakan id yang digunakan untuk mentracing lintas service. Sedangkan Span ID merupakan ID yang digunakan untuk mentracing internal service.
Implement Sleuth
Tambahkan dependencyΒ spring-cloud-starter-sleuthΒ danΒ spring-boot-starter-web
Komunikasi Data antar Sleuth Client
Controller pada client pertama (jalan di port 8080)
Java
Copy
@RestController
public class SimpleController {
org.slf4j.Logger LOGGER = org.slf4j.LoggerFactory.getLogger(this);
@RequestMapping("/api/halo")
public String halo (){
LOGGER.info("Sampai ke Server")
return "Halo ini dari Client Satu";
}
}
Konfigurasi RestTemplate pada client kedua (jalan di port 8081)
Java
Copy
@Configuration
public class SimpleConfig {
@Bean
RestTemplate restTemplate(){
return new RestTemplate();
}
}
Sletuh akan terinjek kedalam restTemplate lewat Bean di atas.
Controller pada client kedua
Java
Copy
@RestController
public class SimpleController {
@Autowired private RestTemplate restTemplate;
org.slf4j.Logger LOGGER = org.slf4j.LoggerFactory.getLogger(this);
@RequestMapping("/api/halo")
public String halo(){
LOGGER.info("Sebelum sampai ke server");
return restTemplate.getForObject("http://localhost:8080/api/halo",String.class);
LOGGER.info("Setelah sampai ke server);
}
}