Hallo Leute,
meine Aufgabe ist es, eine Suchseite zu entwickeln, die mehrere Webservices absucht. Die Antwortzeiten der verschiedenen Webservices sind sehr unterschiedlich und können bis zu 15 Sekunden lang sein, während andere Services prompt (< 1 Sekunde) antworten.
Als Ergebnis sollte eine Tabelle gezeigt werden, die pro Webservice die Anzahl der Suchresultate beinhaltet. Mein Ziel ist es, dass die Tabelle nicht erst dann eingeblendet wird, wenn das langsamste Webservice geantwortet hat. Stattdessen sollte sie jedesmal aktualisiert werden, sobald die Antwort eines Webservice eingetroffen ist.
Ich habe für dieses Szenario zwei Ideen:
1.) Pro Webservice einen asynchronen Request. So viel ich weiß, ist die Anzahl der gleichzeitigen Requests in den meisten Browsern aber auf 2 beschränkt.
2.) Einsatz von Polling. Nachteil wäre, dass man am Server die Logik für eine parallelisierte Suche implementieren muss. Mit der Anzahl von gleichzeitigen Suchen steigt auch die Anzahl der Threads, was sehr schnell sehr ressourcenfressend sein könnte.
Ich habe schon sehr lange nach möglichen Patterns gesucht, da das Problem allgemeiner Natur zu sein scheint. Meine Frage ist, ob es noch andere Lösungswege für das Problem gibt. Vielleicht hat jemand sich mit diesem Problem schon einmal befasst und kann mich auf einen hilfreichen Artikel oder so verweisen. Was haltet ihr von den beiden Ideen bzw. wie würde eure Architektur aussehen?
Viele Grüße,
Robsta
meine Aufgabe ist es, eine Suchseite zu entwickeln, die mehrere Webservices absucht. Die Antwortzeiten der verschiedenen Webservices sind sehr unterschiedlich und können bis zu 15 Sekunden lang sein, während andere Services prompt (< 1 Sekunde) antworten.
Als Ergebnis sollte eine Tabelle gezeigt werden, die pro Webservice die Anzahl der Suchresultate beinhaltet. Mein Ziel ist es, dass die Tabelle nicht erst dann eingeblendet wird, wenn das langsamste Webservice geantwortet hat. Stattdessen sollte sie jedesmal aktualisiert werden, sobald die Antwort eines Webservice eingetroffen ist.
Ich habe für dieses Szenario zwei Ideen:
1.) Pro Webservice einen asynchronen Request. So viel ich weiß, ist die Anzahl der gleichzeitigen Requests in den meisten Browsern aber auf 2 beschränkt.
2.) Einsatz von Polling. Nachteil wäre, dass man am Server die Logik für eine parallelisierte Suche implementieren muss. Mit der Anzahl von gleichzeitigen Suchen steigt auch die Anzahl der Threads, was sehr schnell sehr ressourcenfressend sein könnte.
Ich habe schon sehr lange nach möglichen Patterns gesucht, da das Problem allgemeiner Natur zu sein scheint. Meine Frage ist, ob es noch andere Lösungswege für das Problem gibt. Vielleicht hat jemand sich mit diesem Problem schon einmal befasst und kann mich auf einen hilfreichen Artikel oder so verweisen. Was haltet ihr von den beiden Ideen bzw. wie würde eure Architektur aussehen?
Viele Grüße,
Robsta