Moin,
wir planen zurzeit einen online shop mit mehreren Tausenden Produkte. Wir möchten den Bestand und Preis stündlich aktualisieren und überlegen wie wir dort am besten vorgehen sollten.
Wir erhalten den aktuellen Bestand und Preis-Katalog jeweils über einen HTTPS Request an unseren Lieferanten (/rest/stock und /rest/catalog für den preis).
Wäre es sinnvoll, diese Aktualisierung über ein Shopware-Plugin mit einem scheduled-task und der shopware dal umzusetzen, oder wäre das zu aufwendig und könnte die Leistung des Servers beeinträchtigen? Als Alternative dachte ich daran, einen zweiten Server zu nutzen, der die Daten in einer eigenen Datenbank speichert und über die Shopware API aktualisiert, wenn dies erforderlich ist. Welche dieser Optionen würdet ihr wählen?
Vielen Dank
Liebe Grüße
Naja, bei Variante 2 hast du ja genauso Last auf die DB. Und tendenziell mehr, bzw. nicht so effizient, wie du es direkt über DBAL hinbekommen kannst.
1 „Gefällt mir“
Ja das stimmt , das ding ist, dass ich beim Bestand eine Liste von jeweils 10.000 Produkten mit den jeweiligen Bestand erhalten würde. Wenn ich nun eine zweite Datenbank hätte, könnte ich schonmal alle Produkte rauswerfen, bei denen sich der Bestand nicht geändert hat. So würde ich nur noch die geänderten Produkte an die DB weiterleiten.
Für die preise würde ich einen Katalog mit allen Produktinformationen erhalten, dort ist aber eine updated_at enthalten, womit man schon einige rauswerfen könnte.
Ich bevorzuge auf jeden Fall auch ein Plugin, da ich denke, dass man langfristig damit leichter und besser fährt. Ich würde lieber früher anfangen das Setup zu clustern um so die Lasten besser zu verteilen.
Wichtig wäre wahrscheinlich auch, direkt rabbitmq mit einzubinden, um die jobs effizienter zu verwalten? Damit muss ich mich aber noch ausführlich auseinandersetzen