Webservice Triggern

Bitte aktiviere JavaScript!
Hallo zusammen,

habe folgendes Szenario:

Service A holt Daten aus einer fremden Datenbank und speicher sie in unser System.
Service B,C,D braucht diese Daten um damit beim Hersteller Aufträge auszulösen. Nun muss Service A > Service B oder B oder C oder D informieren wenn ein neuer Auftrag eingegangen ist (für den jeweiligen Hersteller).

1. Überlegung: einen Datenbank-Trigger zu setzen "Wenn neuer Eintrag in Tabelle aufträge und hersteller "B" > rufe Webservice von hersteller B
2. Überlegung: Service B, C, D ruft alle 5 Minuten unsere API, ob es eine neue Bestellung gibt (uncool, da 5 Minuten zu lang sind, kürzeres Intervall verursacht wohlmöglich unnötig viel Last)
3. Überlegung: wenn ein neuer Auftrag von Service A geholt wurde, infomiert er Service B, C oder D "neuer Auftarg eingegangen" und übergibt ihm die Daten. Nachteil hier: ich muss jedesmal den Service A welcher die Aufträge bei uns einspeichert anpassen, wenn ein neuer Hersteller dazu kommt.

Kann jemand mein Szenario nachvollziehen und hat einen Tipp? Ich denke vermutlich schon wieder um zu viele Ecken :rolleyes:
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
3. Überlegung: wenn ein neuer Auftrag von Service A geholt wurde, infomiert er Service B, C oder D "neuer Auftarg eingegangen" und übergibt ihm die Daten. Nachteil hier: ich muss jedesmal den Service A welcher die Aufträge bei uns einspeichert anpassen, wenn ein neuer Hersteller dazu kommt.
Den Nachteil hast du nicht, wenn du das Ganze umdrehst: Nicht Service A kennt im Vorhinein Services B, C und D, sondern diese Services müssen sich bei A registrieren, wenn sie über neue Aufträge informiert werden wollen. Also klassisch Pub/Sub.
 
Publish/Subscribe. Davon wirst du sicherlich schonmal gehört haben.

Ansonsten gibt es auch ganz andere große Firmen, die ihre komplette IT-Systemarchitektur auf Polling ausgelegt haben. Polling kann auch Vorteile haben, z.B. ist es generell fehlertoleranter bei Ausfall einzelner Systeme: Im Zweifel weiß nur der Konsument, welche Daten er zuletzt gesehen hat und kann dann nach einem Ausfall wieder dort aufsetzen/nachfragen, statt dass der Produzent sich merken muss, an welchen Konsument er jetzt schon erfolgreich welche Daten geschickt hat. Auch können Caches dazwischengeschaltet werden. Selbst einmal pro Sekude pollen erzeugt keine zu hohe Last. Ein Poll hat ja keine Gigabytes an Payload.
 
Polling ja, Pub/Sub Prinzip kenn ich vom Prinzip, wusste nur nicht, dass es so heißt. Das liest sich aber prima und nachdem, was ich brauche
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben