Ovu stranicu je najbolje pregledavati u modernom internet pregledniku s omogućenim JavaScriptom.

[RASSUS] 3. laboratorijska vježba - 2021/2022

Erpeg

Erpeg
ok, naci niti jedan servis unutar dockera ne moze vidjet drugi microservis, a tako se onda nemoze niti povezat na njega
jel netko imao ovaj problem ?


Pleomax

Erpeg
prouci docker network i kao uri eureke stavi ovako: http://[ime_eureka_kontejnera]:8761/eureka


Erpeg

Pleomax
uspio sam tako rijesit

al sad imam problem da mi se agregator registrira na eureku prije temp i humidity i onda ih nemoze nac.
a u docker-compose imam dependency temp i humidity, tako da mi se temp i humidity pokrenu prije aggr, al se ovaj konstantno kod svakog pokretanja registrira prvi na eureku


laranotreallycroft

Erpeg ja samo ne pokrecem dohvat IP s agregatora dok u eureki ne vidim da su se svi registrirali. Nez jel se to opce moze drukcije rjesit


Erpeg

laranotreallycroft
ja isto, samo sto mi iz nekog razloga i dalje ne zeli dohvatit…
pazio sam na to kako definiram ime u docker.yml fajlu, al i dalje ne radi, kaze java.lang.IllegalStateException: No instances available for temperature-microservice iako ga ja vidim na eureka serveru


vidraKida

laranotreallycroft Daj mi reci, sada se jebem s aggregatorom jos samo. Kako mogu dohvatit sve ip adrese, jer ja sam napravio kao u ovom videu dole od lika i ne funkcionira mi na dockeru.


Erpeg

Erpeg
ono kad 3 dana samo zbog dockera debugiras ono sto inace radi…

problem je bio u restTemplate koji iz nekog razloga ne radi na dockeru… normalan http request radi, pa evo ako se netko bude mucio da zna

eee sad je problem sto mi ne zeli ucitavat git repozitorij 🥳😍


narval13068

Kako spojiti da u dockeru mikroservisi (temperatura, humidity, aggregator) vide eureka server… van dockera je ok al unutra nikako nemogu napravit da se otkriju…


RogerRoger

Dima stvori bridge mrežu: https://docs.docker.com/network/bridge/ i pokreni kontejnere na njoj, znači kad ideš pokrenuti (već stvoreni) kontejner naredbi docker run dodaš argument –net <ime-mreže>. Prethodno moraš stvoriti bridge mrežu, a možeš provjeriti je li stvorena koristeći docker network ls. Da saznaš koji su ti sve kontejneri trenutno spojeni na bridge, koristiš docker network inspect <ime-mreže>.
Ako si ovo napravio i svejedno ti ne radi (baci ti ono “no known servers” ili tako nešto), u konfiguracijskim YAML fajlovima za te servise stavi eureka:
client:
serviceUrl:
defaultZone: http://<eurekin-kontejner>:<port>/eureka
.


saitama

Jel ima detekcije plagijata na ovom predmetu i kolko su jaki?


RogerRoger

saitama ima, ne znam koliko su jaki, ali valjda ti je osjećaj srama jači 🙂


narval13068

RogerRoger Nesto san slicno tomu ako ne i isto napravia na kraju, doda sam u compose pri pokretanju novu mrezu argumentom networks s odredjenim rasponom ip adresa i samo za svaki container zada koja ce biti ip adresa i to harkodira u spring boot app.properties, koliko je to dobro neznam al bmk neman zivaca vise za ovaj labos tako da adio hahah


tata

Kak ste zamijenili ip:port s nazivom iz eureke?

U aggregatoru se spajam ovak na temperature mikroservis:

Probao sam naivno s ovim http://temperature-microservice/temperature

mislio sam da ce se nekak to mapirat


Cvija

NISAM ASISTENT
Tu sam koristio rest template i getForObject kao što je lik iz ovog videa

Meni nije radilo jer nisam restTemplate stavio da mi je @Autowired

Možda možeš napraviti i pomoću HttpRequest, ali stvarno ne znam kako, ovako sam ja riješio


Cvija

huba buba Jesi to ovako napravio? S tim da je readings.csv u resources mapi

I kako vam docker compose datoteke izgledaju, što tu krivo radim?

docker-compose-services.yml

version: "3.9"
services:
        temperature-microservice:
                image: temperature_1.0
                ports:
                        - "8090:8090"
        humidity-microservice:
                image: humidity_1.0
                ports:
                        - "8091:8091"
        aggregate-microservice:
                image: aggregate_1.0
                ports:
                        - "8080:8080"
                depends_on:
                        - temperature-microservice
                        - humidity-microservice
networks:
        default:
                external:
                        name: "microservices"

docker-compose-infrastructure.yml

version: "3.9"
services:
        config-server-microservice:
                image: config_1.0
                ports:
                        - "8888:8888"
        eureka-server:
                image: eureka_1.0
                ports:
                        - "8761:8761"
networks:
        default:
                external:
                        name: "microservices"

s tim da je mreža microservies stvorena s docker network create microservices


PiqueBlinders

Cvija jel ti proradilo? jedina razlika mi je da imam i network parametar u svakom od servisa.

networks:
-microservices


milanista

Jel itko ima problem da mu config server ne može pronaći lokalni repozitorij nakon što ga se pokrene preko dockera?

Ovako je definiran u application file-u: spring.cloud.config.server.git.uri: file:///C:/configrepo


Cvija

milanista da i stavio sam ga da bude na gitlabu i otad mi radi


laranotreallycroft

Ζ ε ύ ς

	@Autowired
	DiscoveryClient discoveryClient;`


> List<ServiceInstance> list = discoveryClient.getInstances("TEMPERATURE-MICROSERVICE");
> 		if (list != null && list.size() > 0) {
> 			ServiceInstance service1 = list.get(0);
> 			tempUri = URI.create(service1.getUri() + "/getTemperature");
> 		}

`
spring.application.name=HUMIDITY-MICROSERVICE

Cvija

zisku proradilo mi je ovako kako sam napisao, ali mi aggregate mikroservis ne očita config


vidraKida

laranotreallycroft di si to stavio u koji dio projeka?
u kontroler ili?


vidraKida

imam jeben problem, a taj je da

laranotreallycroft
ovaj kôd prepozna adrese i sve i onda kada idem slat zahtjeve dobijem neke pizdarije preko dockera tipa
http://172.23.0.4:8081
to je na aggregatoru, ima li itko ideju u cemu je problem?


tata

Cvija jel ti baca ono da ne moze ucitat bean?

Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'unit' in value "${unit}"

Ovak sam ucitavao prije dockera (i radilo je), sad mi s dockerom ne radi to


« Prethodna stranica Sljedeća stranica »