Ich habe folgendes Setup einen
DataServer
DateImporter
und einen EurekaServer.
Ich möchte nun lokal 2x den DataServer starten (über verschieden Port). Den ersten DataServer starte ich auf POrt 8080, den zweiten DataServer auf Port 8081. Der Data Importer läuft alleine. alle 3 Apps registieren sich beim EurekaServer.
Das klappt auch.
Nun verschickt der DataImporter per RestTemplate Daten an den DataServer.
Hier die Confgig des Rest Template :
var headers = new HttpHeaders();
headers.set("Content-Type", "application/json");
var entity = new HttpEntity<>(headers);
matchData.forEach(data -> {
restTemplate.exchange("http://MatchDataServerApp/api/v1/addData?competitionName={competitionName}&seasonStartYear={seasonStartYear}&seasonEndYear={seasonEndYear}&firstTeamName={firstTeamName}&secondTeamName={secondTeamName}",
HttpMethod.POST,
entity,
Match.class,
data.getSeasonStartYear().get(),
data.getSeasonEndYear().get(),
data.getCompetitionName().get(),
data.getFirstTeamName().get(),
data.getSecondTeamName().get());
});
So nun mein Problem bzw meine Frage :
In der Log ausgabe von beiden DataServers kommen die Daten an. Meine Erwartung ist, das sich die Daten verteilen. Also mal auf dem einen und mal auf dem anderen ankommen.
hier wäre vllt eher virtualisierung angebracht dass du dir 1en server auf 2 "hardware computer" simulieren lässt somit dein server programm die power von 2 Servern hat
bzw
falls es "das kabel ist" kannst du ja auch mehrere leitungen zusammen laufen lassen , cisco macht es so
du kannst sagen dass am router das kabel 1 und kabel 2 den in und output teilen und zusammengefasst werden
Loadbalancing ist ein Standard-Verfahren und ist insbesondere im Sinne der Ausfallsicherheit eine gute Idee. Daher halte ich es für den falschen Ansatz das wegzudiskutieren.
Danke für die Antworten - unabhängig von Sinnhaftigkeit würde mich zuerst interessieren was ich verkehrt gemacht habe : Hier mal die Application.yml vom Importer und Server.
Die Config für den Server ist in beiden Fällen identisch und unterscheidet sich nur durch den Port. Alle Anwendungen laufen in einem DockerContainer, deshalb kann ich hier den gleichen Port verwenden
Ich habe gerade nicht den genauen Überblick, was Du exakt versucht hast und was das Fehlerbild ist. Daher kann ich gerade leider nichts konkretes sagen.
Aber unter dem Strich willst Du das machen, was in
Evtl. kannst Du die dort gezeigten Schritte mit dem abgleichen, was Du hast oder eben nicht hast um das dann ggf. anzugleichen?
Sorry, wenn das gerade nicht hilfreich sein sollte - ich bin derzeit mit dem Kopf schon wieder im nächsten Meeting und daher gerade nicht den Kopf frei / nicht die Zeit, mich da jetzt genauer einzulesen. Ggf. ist also selbst der Link nicht passend.
Danke dir ich schaue mir das mal in Ruhe an. Ich danke dir jetzt schon mal für deine Zeit von der Üerschrift ist es genau das was ich gesucht habe vielen dank !
Guten Morgen, ich habe am Wochenende noch mal rumgespielt aber leider ohne Erfolg.
Dachte ich aber ich habe meinen Fehler gefunden :
Es gibt keinen Fehler. Noch mal zu meinem Setup
Ich starte einen MatchdataImporter, und 2 MatchDataServer. Beide registrieren sich an einem Eureka Server.
Ich habe nun am IMporter einen Improt gestartet und die Daten an den DataServer geschickt :
Meine Vermutung : Beide DataServer erhalten die gleichen Daten. Das war aber ein Irrtum. Denn die matchdata List enthielt mehr als eine Spielpaarung und meine Ausgabe war leider nicht so aussagekräftig, dass ich annahm beide Server bekommen die gleichen Daten.
Daher muss ich mich bei euch allen bedanken und auch entschuldigen - ich habe kein Problem.
Trotzdem habe ich viel gelernt.