einblick in das promoter-system stand: 29. juni 2009 © copyright 2009 viathinksoft. alle rechte...

24
Einblick in das Promoter- System Stand: 29. Juni 2009 pyright 2009 ViaThinkSoft. Alle Rechte vorbehalten.

Upload: margarete-radden

Post on 05-Apr-2015

106 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Einblick in das Promoter-SystemStand: 29. Juni 2009

© Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten.

Page 2: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

• Jedem System die Möglichkeit geben, pro Minute eine koordinierte Transaktion durchführen (z.B. Webseitenupdates prüfen, diverse Benachrichtungen senden)

• Personal WebBase auch für Server verfügbar stellen, die keine Cronjobs verwalten können

• Zentrales Promoting-System, das alle öffentlich zugänglichen Kundenserver von extern jede Minute aufruft

• Der Service wird kostenlos auf der Webseite www.personal-webbase.de zur Verfügung gestellt

Promoting? Die Idee dahinter!

Page 3: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Szenario A – Aktive Cronjobs über Shell

Das System kann Cronjobs ausführen und ruft startpromoting.php jede Minute auf.

VorteileAusfallsicherheit, zeitgerechte Bearbeitung und schnelle Benutzertransaktionen

Szenario B – Aktive Cronjobs über Promoter

Das System ist öffentlich zugänglich und wird von ViaThinkSoft oder einem anderen Server promoted.

NachteileÖffentlicher Zugang wird benötigt und es entsteht leichter Traffic

VorteileZeitgerechte Bearbeitung und schnelle Benutzertransaktionen

Szenario C – Passive Cronjobs

Das System kann Transaktionen erst bei Benutzerzugriffen durchführen.

NachteileLangsame Benutzertransaktionen, keine zeitgerechte Bearbeitung

Szenarien für koordinierte Transaktionen

Page 4: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

System hochladenund einrichten

Cronjobseinrichtbar?

System onlineverfügbar?

(ohne Passwortschutz)

ViaThinkSoftPromoter registrieren

Kann System onlinegestellt werden?

Passive CronjobsAktive Cronjobsüber Promoter

Cronjob einrichten(Linux, Windows, Confixx…)

Aktive Cronjobsüber Shell

System online stellen(Apache, DynDNS…)

Nein Ja

Ja

JaNein

Nein

Vorgehensweise

Page 5: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Die Technik dahinter

Page 6: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Portal

Datenbank

KundenserverPromoter-Service

Check-System

Aufruf

Aufruf

Daten

Kontrolloberfläche

Aktuelle Server

Laufstatistik

Ständige Online-Kontrolle der Funktionalität

Online-registrierung

GültigesWebBase System?

GesamtübersichtLog-Daten

Log-Daten

Speichert

Page 7: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Regelungen für das Promoting• Jedes aktuelle, öffentlich zugängliches Personal WebBase System kann von

ViaThinkSoft promoted werden.• Die Prüfung auf die Gültigkeit des Systems beim Registrieren auf der

Portalwebseite ändert sich und passt sich ggf. neuen Programmversionen an.• Die Administration behält sich das Recht vor, eine Webseite individuell sperren

zu lassen, wenn sie z.B. für ViaThinkSoft einen zu hohen Datenverkehr verursacht oder sie kein Personal WebBase System mehr beeinhaltet.

• Das Promoting wird gestoppt, sobald das Downtime-Meter 50.000 Minuten erreicht oder das Serverscript startpromoting.php exakt den Wert „Stop promoting!“ zurückliefert.

• Das Downtime-Meter erhöht sich bei jedem erfolglosen Aufruf (z.B. DNS-Fehler, Ausgabe im startpromoting.php Script oder passwortgeschütztes Verzeichnis) und verringert sich bei jedem erfolgreichen Aufruf wieder, bleibt jedoch >= 0.

Page 8: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Realisierungskonzepte des ViaThinkSoft Promoters

Page 9: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Besonderheiten der Realisierung

• Auch unsichere SSL Verbindungen müssen aufgebaut werden (Inhalte sind ja nicht sensibel) – Jedes System muss promoted werden können!

• Alle Aktivitäten müssen asynchron sein und der Intervall von 60 Sekunden darf sich nicht verändern, auch wenn Server inaktiv sind und auf eine Anfrage nicht antworten.

• Alle Server müssen zum selben Zeitpunkt angesprochen werden, sodass sie selbst einen Intervall von 60 Sekunden erfahren.

Page 10: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Grundkonzept

60 SekundenIntervall

Alle Serverabfragen

startpromoting.phpalle parallel aufrufen

Promoter-Service

Page 11: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Nein Ja

Aufruf erfolgreichund ohne Inhalt?

Nein Ja

Nein Ja

Downtimemeter>= 50.000?

MySQL Verbindungherstellen

MySQL Verbindungtrennen

Aktive Kundenserverabfragen

?

Async. ProzessaufrufParameter: id

Webseite aufrufen

?

MySQL Verbindungherstellen

?

System deaktivieren

MySQL Verbindungtrennen

Weitere Datensätzevorhanden?

Splitter, Realisiert mit Perl

Pro

mot

er-S

ervi

ce 1

.0

Zeitstempelspeichern

Nein Ja

Downtimemeter> 0?

?

Downtimemeter verringern

Zeitfeld der Tabelleaktualisieren

Downtimemeter = 0,wenn <0 (alle Server)

Aktiven Server mit Zeit-interval 50+ Sek. aus Tabellelesen (Quelle: id-Parameter)

Datensatz gefunden?

Nein Ja?

Promoter, Realisiert mit PHPSystem-Crontabelle

Socket-Verb.

Internet

Prozessstart

60 Sekunden

MySQL

Online-Registrierung

Downtimemetererhöhen

Page 12: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Änderungen in 2.0

• Vollständige Umstellung zu einer eigenständigen C-Applikation

Page 13: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Nein Ja

Aufruf erfolgreichund ohne Inhalt?

Nein Ja

Nein Ja

Downtimemeter>= 50.000?MySQL

60 Sekunden warten

Async. Function Call

MySQL Verbindungherstellen

MySQL Verbindungtrennen

Aktive Kundenserverabfragen

?

Async. Function CallParameter: Struktur

Webseite aufrufen

?

Downtimemetererhöhen

Downtimemeterverringern, wenn >0

MySQL Verbindungherstellen

?

System deaktivieren

MySQL Verbindungtrennen

Weitere Datensätzevorhanden?

Nein Ja

Endlosschleifen-bedingung

Felder als Struktur-Argument vorbereiten

CURL

Durchlaufthread

Hauptthread Promotingthread

Internet

Eigenständige Daemon-Applikation, Realisiert mit CP

rom

oter

-Ser

vice

2.0

Online-Registrierung

Zeitfeld der Tabelleaktualisieren

Page 14: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Änderungen in 2.1

• Der Datentransfer wird limitiert und das Connection Timeout wird beachtet

Page 15: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Nein Ja

Aufruf erfolgreichund ohne Inhalt?

Nein Ja

Nein Ja

Downtimemeter>= 50.000?MySQL

60 Sekunden warten

Async. Function Call

MySQL Verbindungherstellen

MySQL Verbindungtrennen

Aktive Kundenserverabfragen

?

Async. Function CallParameter: Struktur

Webseite aufrufen(max. 16 KB Content)

?

Downtimemetererhöhen

Downtimemeterverringern, wenn >0

MySQL Verbindungherstellen

?

System deaktivieren

MySQL Verbindungtrennen

Weitere Datensätzevorhanden?

Nein Ja

Endlosschleifen-bedingung

Felder als Struktur-Argument vorbereiten

CURL

Durchlaufthread

Hauptthread Promotingthread

Internet

Eigenständige Daemon-Applikation, Realisiert mit CP

rom

oter

-Ser

vice

2.1

Online-Registrierung

Zeitfeld der Tabelleaktualisieren

Page 16: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Änderungen in 2.2

• Server können sich nun durch die Zeichenkette „Stop promoting!“ auch selbst sperren lassen.

• Statistische Angaben „Up-Counter“ und „Down-Counter“ eingeführt.

Page 17: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Nein Ja

Aufruf erfolgreich?

Nein Ja

Nein Ja

Downtimemeter>= 50.000?

MySQL

60 Sekunden warten

Async. Function Call

MySQL Verbindungherstellen

MySQL Verbindungtrennen

Aktive Kundenserverabfragen

?

Async. Function CallParameter: Struktur

Webseite aufrufen(max. 16 KB Content)

?

Downtimemeter undDown-Statistikfeld erhöhen

Downtimemeterverringern, wenn >0;Up-Statistikfeld erhöhen

MySQL Verbindungherstellen

?

System deaktivieren

MySQL Verbindungtrennen

Weitere Datensätzevorhanden?

Nein Ja

Endlosschleifen-bedingung

Felder als Struktur-Argument vorbereiten

CURL

Durchlaufthread

Hauptthread Promotingthread

Internet

Eigenständige Daemon-Applikation, Realisiert mit CP

rom

oter

-Ser

vice

2.2

Online-Registrierung

Zeitfeld der Tabelleaktualisieren

?

Inhalt?

?

Ja NeinStopp-Anfrage?

Nein Ja

Page 18: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Änderungen in 2.3

• Eine E-Mail-Adresse ist nun ein Pflichtfeld (bei der Online-Eintragung).

• Online-Eintragung nun HTTPS gesichert (damit URL zum Personal WebBase-System nicht unverschlüsselt gesendet wird.

• Benutzer werden über Ereignisse (Zwangs-Sperrung bei DTM=50.000 oder Selbst-Sperrung; informiert sowie bei einem DTM, das durch 5.000 teilbar ist, gewarnt ( 9 Warnungen vor endgültiger Sperrung; bei dauerhaften Downtime Warnung also alle 5000 Minuten = 3½ Tage).

Page 19: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Nein Ja

Aufruf erfolgreich?Nein Ja

Nein Ja

Downtimemeter>= 50.000?

MySQL

60 Sekunden warten

Async. Function Call

MySQL Verbindungherstellen

MySQL Verbindungtrennen

Aktive Kundenserverabfragen

?

Async. Function CallParameter: Struktur

Webseite aufrufen(max. 16 KB Content)

?

Downtimemeter undDown-Statistikfeld erhöhen

Downtimemeterverringern,wenn >0;

Up-Statistikfelderhöhen

MySQL Verbindungherstellen

?

System deaktivieren

∪∪

MySQL Verbindungtrennen

Weitere Datensätzevorhanden?

Nein Ja

Endlosschleifen-bedingung

Felder als Struktur-Argument vorbereiten

CURL

Durchlaufthread

Hauptthread Promotingthread

Internet

Eigenständige Daemon-Applikation, Realisiert mit CP

rom

oter

-Ser

vice

2.3

Online-Registrierung

Zeitfeld der Tabelleaktualisieren

?Inhalt?

?

Ja NeinStopp-

Anfrage?

Nein Ja

E-Mail:User-Lock

E-Mail:Forced-Lock

?

E-Mail:Warnung

DTM durch5000 teilbar?

Ja Nein

Page 20: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Promoter-User-Agents

• Derzeit vertretene User-Agents:– ViaThinkSoft Personal WebBase Promoter Service 2.3

(Promoter-Daemon)– ViaThinkSoft Personal WebBase Promoter Checker

(Online-Eintragung)

• Derzeit vertretene X-Mailer:– ViaThinkSoft Personal WebBase Promoter Service 2.3

(Promoter-Daemon)

Page 21: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

MySQL-Tabelle für die Server

• wbp_promoting– id– address– email– active (0, 1)– last_promoting (datetime)– downtime_meter– stat_up_count– stat_down_count

Page 22: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Promoter-Quellcode

• Ein Teil des Quelltextes wird demnächst auf dokumentationsgründen Open-Source gemacht.

• Der Dienst bleibt jedoch ViaThinkSoft-Exklusiv

Page 23: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Interaktion mit Personal WebBase

• startpromoting.php existiert erst seit Version 0.73 (?) und leitet zum Modul weiter, das die regelmäßigen Tätigkeiten der Module abarbeitet

• Aufruf davor: modulseite.php?modul=core_cronjob&seite=run&silent=yes

• Ab 0.80: „Stop promoting!“ kann auch vom System gesendet werden (nähere Informationen liefen noch nicht vor)

Page 24: Einblick in das Promoter-System Stand: 29. Juni 2009 © Copyright 2009 ViaThinkSoft. Alle Rechte vorbehalten

Weitere Planungen

• Derzeit keine