OrderSprinter auf Virtueller Umgebung betreiben

In diesem Forum können Fragen zum OrderSprinter gestellt werden.
FlorianBR
Beiträge: 11
Registriert: Mi 5. Jun 2019, 11:54

OrderSprinter auf Virtueller Umgebung betreiben

Beitrag von FlorianBR »

Hallo Zusammen,
hat schon jemand sein System Virtuell mit mit Hilfe von VMware oder Proxmox realisiert?

ich überlege das System auf 5 Virtuelle Server aufzuteilen
  • Server 1 - OrderSprinter (Windows VM)
  • Server 2 - Datenbank-Replikation - Master-DB (Linux-VM)
  • Server 3 - Datenbank-Replikation - Slaves-DB1 (Linux-VM)
  • Server 4 - Datenbank-Replikation - Slaves-DB2 (Linux-VM)
  • Server 5 - Datenbank-Replikation - Slaves-DB3 (Linux-VM)
Welche Frage ich mir auch stelle, Sollte eine TSE zum Einsatz kommen, wird der USB-Dongel erkannt, wenn dieser per SILEX DS 600 USB3 Device Server eingebunden wird.

Ich Plane den Einsatz dieser Software für einen Verein und möchte den realen Hardware bedarf eher reduzieren
(Fachinformatiker für Anwendungsentwicklung)
pichel
Administrator
Beiträge: 1171
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: OrderSprinter auf Virtueller Umgebung betreiben

Beitrag von pichel »

Hallo Florian,

in OrderSprinter habe ich vorgesehen, dass man eine DB-Replikation mit max. einer Slave-Db machen kann, mehr kannst du bei der Installation nicht festlegen. Ich habe das im PDF-Handbuch beschrieben, auch inkl. Nutzung von Docker-Containern zum Testen. Die Replikations-Erweiterung hatte ich für einen bestimmten Anwender einprogrammiert, der eine Lösung brauchte, bei der er trotz vieler gleichzeitig aktiver Kellner auf einem Großfest nicht von der langsamen TSE ausgebremst wird.

Seit dem habe ich es nicht mehr angefasst und ich würde dir dringend empfehlen, gut zu testen, ob das alles immer noch zuverlässig läuft und ich nicht in der Zwischenzeit durch die fortschreitende Entwickling bei der Replikation etwas kaputt gemacht habe (es ist ja wichtig, dass mein System auf dem Slave nur lesen zugreift). Für die Replikation habe keine automatischen Regressionstests geschrieben, die ich bei den Releases immer durchlaufen lasse.

Mit Proxmox kenne ich mich nicht aus. Was das Einbinden der TSE angeht, würde ich nur erwarten, dass du den Mount an die VMs durchreichen musst. Ich kenne die Swissbit-Treiber nicht im Detail, erwarte aber, dass die nur auf das gemountete Filesystem der TSE zugreifen, und die Controller auf der TSE den Rest übernehmen - aber im Zweifel hilft nur ausprobieren, z.B. durch Abfragen der TSE-Info (auch da werden übrigens schon Vorgänge signiert, denn bereits das Zeitsetzen ist ein solcher Vorgang).

Aber die eigentliche Frage: Replikation wegen Ausfallsicherheit oder Performance?

Gruß,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
FlorianBR
Beiträge: 11
Registriert: Mi 5. Jun 2019, 11:54

Re: OrderSprinter auf Virtueller Umgebung betreiben

Beitrag von FlorianBR »

Hallo Stefan,
vielen Dank erst mal für deine Antwort.

Für die Ausfallsicherheit hatte ich eher an das Virtuelles System gedacht, dass man mit snapshot und Gesamten Backups das System recht schnell wieder herstellen könnte

Das Thema mit der Replikation hatte ich in der Bedienungsanleitung "OrderSprinter 2.7.3" sehr Interessant aufgenommen. Hier finde ich das ab Seite 190 schon der Eindruck entsteht das es von Slave-DB 1 bis Slave-DB n möglich ist.
Von daher werde ich glaub das System dann erstmal nur mit der Haupt Datenbank dann wohl betreiben.

Wegen der TSE werde ich wohl im schlimmsten Fall von der Virtuellen Hardware dann weg müssen, wenn sich dieses "Sicherheit's Ding" nicht durchreichen lässt. (Bisher ist aber noch nicht entschieden, ob das System eine "Kassensystem" wird oder als reines Bestellsystem Anwendung findet)

Gruß
Florian
(Fachinformatiker für Anwendungsentwicklung)
pichel
Administrator
Beiträge: 1171
Registriert: So 13. Sep 2015, 19:48
Wohnort: Hamburg
Kontaktdaten:

Re: OrderSprinter auf Virtueller Umgebung betreiben

Beitrag von pichel »

Hallo Florian,

ich muss mich entschuldigen. Du hast Recht und ich hatte total vergessen, was ich damals programmiert habe. Ich habe in meinem Sourcecode geschaut und in der Tat kann man beliebig viele Slaves konfigurieren. Muss man im Feld bei der Installation separiert durch Semikolons eintragen.

Viele Grüße,

Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
FlorianBR
Beiträge: 11
Registriert: Mi 5. Jun 2019, 11:54

Re: OrderSprinter auf Virtueller Umgebung betreiben

Beitrag von FlorianBR »

Hallo Stefan,
ich hab jetzt mal meine Virtuelle Struktur aufgezogen. Hab dafür die Version 2.7.3 verwendet.

in der "Config.php" sind meine Slaves DB eingetragen. User und Login ist überall gleich, Auch ist auf allen DB's die gleiche Datenbank angelegt.

Code: Alles auswählen

// Zum Aufbau der Verbindung zur Datenbank
// die Daten erhalten Sie von Ihrem Provider
defined('MYSQL_HOST') || define ( 'MYSQL_HOST','10.222.222.12' );
defined('MYSQL_PORT') || define ( 'MYSQL_PORT','3306' );
defined('MYSQL_USER') || define ( 'MYSQL_USER',  'SKBR' );
defined('MYSQL_PASSWORD') || define ( 'MYSQL_PASSWORD',  '***' );
defined('MYSQL_DB') || define ( 'MYSQL_DB', 'SKBR_OrderSprinter' );
defined('LOG') || define ( 'LOG', false );
defined('TAB_PREFIX') || define ('TAB_PREFIX', 'ordersprinter_');
defined('MYSQL_REPLIDBS') || define ( 'MYSQL_REPLIDBS', '10.222.222.13:3306;10.222.222.14:3306;10.222.222.15:3306' );
defined('INSTALLSTATUS') || define ('INSTALLSTATUS', 'installed');
defined('ISDEMO') || define ('ISDEMO', false);


Wenn ich mich jetzt in der Website als Admin anmelde begrüßt mich Folgende Fehlermeldung
Fehler
Aufruf: php/contenthandler.php?module=admin&command=getGeneralConfigItemsAndUsers

Error: SyntaxError: Unexpected token '<', "
"... is not valid JSON

Server-Antwort:
Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'SKBR_OrderSprinter.ordersprinter_config' doesn't exist in D:\ordersprinter\webapp\php\commonutils.php:455 Stack trace: #0 D:\ordersprinter\webapp\php\commonutils.php(455): PDOStatement->execute(Array) #1 D:\ordersprinter\webapp\php\admin.php(1469): CommonUtils::getConfigValueStmt(Object(PDO), Object(PDOStatement), 'systemid', 1) #2 D:\ordersprinter\webapp\php\admin.php(1217): Admin->getGeneralConfigItems(true, Object(PDO), true) #3 D:\ordersprinter\webapp\php\admin.php(293): Admin->getGeneralConfigItemsAndUsers(true, NULL) #4 D:\ordersprinter\webapp\php\contenthandler.php(68): Admin->handleCommand('getGeneralConfi...') #5 {main} thrown in D:\ordersprinter\webapp\php\commonutils.php on line 455
Zudem wenn ich jetzt in die "MYSQL_REPLIDBS" Datenbanken reinschaue per MySQL Workbench sehe ich auch das die Datenbanken keine Tabellen angelegt werden.

Stell mir jetzt die Frage, hab ich bei der Einrichtung mit der "Replikation" einen Fehler gemacht oder ist die Funktion doch "defekt"
Wenn Sie defekt ist, brauchst wegen mir jetzt kein Aufwand treiben. Werde dann das System mit einer DB Betrieben.
Wir werden wahrscheinlich eh nur 4 Bedienungen laufen lassen, die Bestellungen aufnehmen und kassieren.

Gruß
Florian
(Fachinformatiker für Anwendungsentwicklung)
irrsinn.de
Beiträge: 27
Registriert: Di 2. Jan 2018, 17:07

Re: OrderSprinter auf Virtueller Umgebung betreiben

Beitrag von irrsinn.de »

Hallo!

Darf ich fragen, wie groß der Vereinigt und wieviele Buchungen ihr pro Tag erwartet? Wir haben einen Kunden mit einer DB und max 1.600 Gästen. Das läuft auf einer "einfachen" Kiste. Ja, es waren ein paar mehr Indexe in der DB von Nöten, es musste was am Apache geschraubt werden aber das läuft ohne Probleme.

Gruß Lutz
FlorianBR
Beiträge: 11
Registriert: Mi 5. Jun 2019, 11:54

Re: OrderSprinter auf Virtueller Umgebung betreiben

Beitrag von FlorianBR »

Hallo Lutz,
erst mal danke für deine Antwort.

in der Große wird das unsere erste Veranstaltung die wir auf diese Art umsetzen. Hatten bisher immer ohne EDV Bestellsystem/Kasse gearbeitet.
Es ist eine Abendveranstaltung. Wie viele Buchungen/Vorgänge zusammen kommen kann ich so jetzt noch nicht sagen.

Fakten zur Veranstaltung:
  • Hallenfläche 1170 m² (3 Hallen Teile), WLAN auf Basis von 3x Ubiquiti UniFi AP-AC-M MESH
  • 182 Tische
  • Aufgestuhlt für Max 1070 Gäste
  • 5-6 Personen die rein mit dem mobilen Endgerät (Smartphone) Bestellungen aufnehmen und kassieren
  • Ein Kassen für den Direktverkauf
  • 1 Client jeweils für die Küche und den Getränkeausschank
Gruß
Florian
(Fachinformatiker für Anwendungsentwicklung)
FlorianBR
Beiträge: 11
Registriert: Mi 5. Jun 2019, 11:54

Re: OrderSprinter auf Virtueller Umgebung betreiben

Beitrag von FlorianBR »

Hallo Lutz,
irrsinn.de hat geschrieben: Do 7. Sep 2023, 00:00 Ja, es waren ein paar mehr Indexe in der DB von Nöten, es musste was am Apache geschraubt werden aber das läuft ohne Probleme.
Was hast du denn da so angepasst?
Handelt es sich hierbei beim Apache um das Thema "mpm_prefork.conf"? Wenn ja geht das auch mit einem XAMPP unter Windows 11?

Gruß
Florian
(Fachinformatiker für Anwendungsentwicklung)
FlorianBR
Beiträge: 11
Registriert: Mi 5. Jun 2019, 11:54

Re: OrderSprinter auf Virtueller Umgebung betreiben

Beitrag von FlorianBR »

Hallo Zusammen,
nach dem Heutigen Tag gab ich mich vom XAMPP und Apache Webserver verabschiede und nutze, sowie es sich für Windows wohl am besten eignet, den eignen Webserver IIS (Internet Information Services) von Microsoft.

Ebenso werde ich auf den Einsatz von dem Datenbank Replikation Modell verzichten.

Gruß Florian
(Fachinformatiker für Anwendungsentwicklung)
irrsinn.de
Beiträge: 27
Registriert: Di 2. Jan 2018, 17:07

Re: OrderSprinter auf Virtueller Umgebung betreiben

Beitrag von irrsinn.de »

Naja, bei uns läuft Orderprinter unter Linux.

Das größte Restaurant, welches wir betreiben hat um die 200 Tische (je nach Bestuhlung).
Webserver und Datenbank laufen unter Linux mit einem Celeron N4100, 16 GB Ram und SSD. Unsere Technik hat aber etliches am MySQL und der Apachekonfiguration geändert. Auf der Hauptkasse (Windows) läuft der Printserver und ein XAMP für die EC-Cash-Anbindung per EasyZVT - Damit die Kellner keinen Mist bauen können, werden die zu zahlenden Beträge direkt an die EC-Cash-Geräte übergeben. Außerdem haben wir eine "schnell Tischeingabe" gebaut. Das dauert mit den Raumwechseln sonst zu lang, die Nummern stehen auf den Tischen. Gleiches gilt für die Eingabe der Speisen (auch per Nummerneingabe).

Das erhöht die Zeit für die Bestellaufnahme erheblich.

Sieht dann z.B. so aus:
Bildschirmfoto 2023-09-10 um 00.15.51.png
Bildschirmfoto 2023-09-10 um 00.15.51.png (43.98 KiB) 185 mal betrachtet
Speisen
Bildschirmfoto 2023-09-10 um 00.15.51.png
Bildschirmfoto 2023-09-10 um 00.15.51.png (43.98 KiB) 185 mal betrachtet
Tischauswahl
Dateianhänge
Bildschirmfoto 2023-09-10 um 00.16.03.png
Bildschirmfoto 2023-09-10 um 00.16.03.png (54.08 KiB) 185 mal betrachtet
Antworten