Load balancer nie działa na ubuntu

0

Cześć. Mam takie wyzwanie.
Dla zabawy/nauki zrobiłem sobie projekt ze spring cloud https://github.com/bartgora/spring-cloud-fun
Teraz sytuacja wygląda tak:
Nie używam dockera(na razie).
Uruchamiam to w Intelij pod windows 10, na localhost:8090 me eurekę, na localhost:8088 mam gateway z loadbalancerem,

Gdy wchodzę na localhost:8088/greetinngs na Windowsie, działa, albo wyświelta hello, albo fallback

Z kolei na ubuntu, wchodze na eurekę localhost:8090 - działa i widzę zarejetrowane serwisy.
Wchodzę na http://192.168.0.157/:8088/greetinngs i mam 404. -
za to wchodze do samego hello servicu http://192.168.0.157:8080/greetings/hello - dostaję odpowiedź

Ktoś może miał taką sytuację? nie wiem jak to ugryźć

PS: Teraz widzę, że coś jest nie tak z tym hello na ubuntu:
screenshot-20240131104747.png

1

Zobacz może tak http://192.168.0.157:8088/greetinngs zamiast http://192.168.0.157 "/" :8088/greetinngs

0

Tak jak mówi @bbzzyyczczeek, masz niepotrzebne slash przed dwukropkiem z portem.

0

Co do 404, to może po prostu literówka? greetings vs greetinngs

W kodzie masz: .nest(RequestPredicates.path("greetings"), builder -> builder.GET("/hello", h -> get())).build();

1

Dziękuje za odpowiedź, ale gdyby na prawdę chodziło o literówkę, to chyba nie pisałbym posta 😄
http://192.168.0.157:8088/greetings - też nie działa :D

0

Dobra, już wiem miało być http://192.168.0.157:8088/greetings/hello.
bo w configu jest

return routeLocatorBuilder
  .routes()
  .route("greetings", r -> r.path("/greetings/*")
          .filters(f -> f.circuitBreaker(c -> c.setName("circut").setFallbackUri("forward:/fallback")))
          .uri("lb://hello-service"))
  .route("fallback", r -> r.path("/fallback").uri("lb://fallback-service"))
  .build();

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.