Cześć, postanowiłem zagłębić się w świat mikroserwisów i zobaczyć jak to wszystko wygląda od środka.
Stworzyłem sobie config server, postawiłem eureke i zapiąłem jeden na razie discovery client.
Discovery client jest banalny i ma w sobie tylko to:
@Configuration
public class OrderResource {
@Bean
RouterFunction<ServerResponse> order (OrderRepository orderRepository) {
return route()
.GET("/orders", serverRequest -> ServerResponse.ok().body(orderRepository.findAll(), Order.class))
.POST("/order", serverRequest -> ServerResponse.ok()
.body(
serverRequest
.bodyToMono(Order.class)
.flatMap(orderRepository::save),
Order.class
))
.build();
}
}
oraz to
@SpringBootApplication
@EnableDiscoveryClient
public class ShopApplication {
public static void main(String[] args) {
SpringApplication.run(ShopApplication.class, args);
}
@RestController
class ReservationRestController {
@GetMapping("/sample")
String reservations() {
return "HAHA";
}
}
}
No i tak. Jeśli ta apka nie jest Discovery Clientem to endpointy /orders
, /sample
bezpośrednio odpowiadają. Jeśli dorzucę tam eurekę to odpowiada już tylko /sample
, a /orders
zwraca 404. No i muszę przyznać, że siedzę nad tym drugi dzień i nie mam pojęcia co może być nie tak?
janek_sawicki