1

Ich brauche ein System zu schaffen, macht folgendes:Teiler Aggregator Muster mit Microservices

  1. erhalten über http mehrt Anfrage hochgeladene Datei - und zurück 200 ok auf Erfolg
  2. die hochgeladene Datei auf mehrere externe Dienste vorbei
  3. warten auf alle Ergebnisse von externen Diensten und
  4. Rückkehr der Antwort auf eine activemq als Verleger
0 die endgültige Antwort Berechnung

gibt es einige Einschränkungen:

  1. diese externen Dienste sind Dienste von 3rd-Party-Unternehmen, so dass einige von ihnen könnten unter Verwendung verschiedener apis/Protokolle werden.

  2. Ich möchte in der Lage sein, & Stecker 3rd Party Vendors zur Laufzeit zu trennen.

  3. der Lage sein, Skalierung mehrerer Instanzen vom selben Hersteller zu unterstützen, die Leistung zu verbessern

mein Denkprozess hat mich so weit gebracht:

  1. feder Integration oder Apache Kamel als Splitter mit - Aggregator Mustermodul
  2. jeder Drittanbieter wird eine unabhängige Spring-Boot-Anwendung sein
  3. der Einstiegspunkt für die Anwendung wird eine andere Spring-Boot-App sein lication

Ich habe einige offene Fragen

  1. ich weiß immer noch nicht, was ist der beste Weg, um die Dateien zwischen den verschiedenen Diensten zu übergeben? durch Nachrichtenwarteschlange? Proxy die Anfrage an mehrere Microservices?

  2. Wie unterstützt man den Stecker & zur Laufzeit abziehen?

alle Hinweise oder Hilfe wird sehr hilfreich sein!

+0

Haben Sie an Websockets gedacht? – RMachnik

Antwort

0

Es sieht definitiv wie Scatter-Gather aus.

Sie haben eine PublishSubscribeChannel und können Abonnenten zur Laufzeit hinzufügen und entfernen.

In Bezug auf plug & unplug Frage können Sie einen Blick in die letzten IntegrationContext Feature in der Spring Integration Java DSL 1.2.