Hallo zusammen,
ich habe eine Frage was das Scheduling in JAVA EE angeht.
Ich verwende als Applikationsserver WildFly.
In JAVA EE ist es möglich verschiedene Schedules einzurichten:
@Schedule
Es lässt sich auch einstellen, wie oft der Schedule laufen soll.
Soweit so gut - das funktioniert auch.
Meine größere Sorge ist nun aber:
- Ich habe eine Applikation und es sollen stündlich 10.000 Schedules, also demnach 10.000 Datenbankabfragen geschehen.
Kann das nicht zum Problem meiner DB werden?
Was kann man dagegen tun? Mehr RAM, mehr CPU etc. einrichten?
Prinzipiell kann man dazu sagen, dass das i.d.R. dann INSERT Statements sind.
Anschließend können noch weitere Aktionen durchgeführt werden:
- Email senden
- Payment Provider kontaktieren und Payment anstoßen
- ....
Anwendungsfälle sind:
1) Automatisierte Rechnungen
- Ich habe Kunden, die ein Abo abschließen
- Jeden Monat sollen alle Rechnungen automatisiert versendet werden.
2) Erinnerungen versenden
- Ein User richtet sich Erinnerungen ein.
- Eintrag in DB wird erstellt, dann die Erinnerung versendet wird
- Schedule läuft jede Minute und prüft, ob es ausstehende Einträge gibt
- Wenn ja: Email wird versendet
-> Problem hier: dies habe ich selbst ja nicht mehr im Griff. Ein User kann sich ja zig Erinnerungen erstellen...
Danke für Ratschläge
ich habe eine Frage was das Scheduling in JAVA EE angeht.
Ich verwende als Applikationsserver WildFly.
In JAVA EE ist es möglich verschiedene Schedules einzurichten:
@Schedule
Es lässt sich auch einstellen, wie oft der Schedule laufen soll.
Soweit so gut - das funktioniert auch.
Meine größere Sorge ist nun aber:
- Ich habe eine Applikation und es sollen stündlich 10.000 Schedules, also demnach 10.000 Datenbankabfragen geschehen.
Kann das nicht zum Problem meiner DB werden?
Was kann man dagegen tun? Mehr RAM, mehr CPU etc. einrichten?
Prinzipiell kann man dazu sagen, dass das i.d.R. dann INSERT Statements sind.
Anschließend können noch weitere Aktionen durchgeführt werden:
- Email senden
- Payment Provider kontaktieren und Payment anstoßen
- ....
Anwendungsfälle sind:
1) Automatisierte Rechnungen
- Ich habe Kunden, die ein Abo abschließen
- Jeden Monat sollen alle Rechnungen automatisiert versendet werden.
2) Erinnerungen versenden
- Ein User richtet sich Erinnerungen ein.
- Eintrag in DB wird erstellt, dann die Erinnerung versendet wird
- Schedule läuft jede Minute und prüft, ob es ausstehende Einträge gibt
- Wenn ja: Email wird versendet
-> Problem hier: dies habe ich selbst ja nicht mehr im Griff. Ein User kann sich ja zig Erinnerungen erstellen...
Danke für Ratschläge