BoJack imaš 5 elemenata: config server, Eureka server (config klijent), agregacijski servis (config i Eureka klijent), humidity i temperature servise (oba Eureka klijenti).
Config server sprema konfiguracije u .yml ili .properties datoteke, svejedno je, samo je sintaksa malo drugačija. Po defaultu, te konfiguracije su ti u java/main/resources projekta, ali možeš u application.yml config servera postaviti put do lokalnog git repozitorija iz kojeg će vući .yml ili .properties konfiguracije za ostale servise (nazoveš ih ime-mikroservisa.yml ili ime-mikroservisa.properties i config server usluzi automatski da pravi config ovisno tko traži, po imenu).
Humidity i temperature mikroservisi su REST serveri koji daju očitanja vlažnosti i temperature. Također su Eureka klijenti, registriraju se na Eureka registry da ih se može tražiti po imenu umjesto adresi.
Agregacijski mikroservis je REST server koji daje kombinaciju očitanja vlažnosti i temperature. I on je Eureka klijent, pristupa mu se preko imena pod kojim je registriran, a on preko imena pristupa humidity i temperature mikroservisima šaljući GET requestove. Također, agregator je config klijent i u konfiguraciji sa servera mu se nalazi mjerna jedinica temperature: kelvin ili celzij. Pri obradi GET requesta pretvara mjernu jedinicu temperature ako je potrebno (tj. ako podatak već nije izražen tom mjernom jedinicom).
Znači: korisnik šalje GET na agregator preko Eureke, agregator ima konfiguraciju mjerne jedinice s config servera, šalje GET requestove humidity i temperature servisima preko Eureke, pretvara mjernu jedinicu ako treba i vraća agregirana očitanja kao response.