Recommender

Aus Callooh Wiki
Zur Navigation springen Zur Suche springen

Architektur

Server

Server Dienste werden in Form eines Clusters zur Verfügung gestellt. Auf jedem Knoten des Clusters läuft ein Applikationsserver, die Kommunikation zwischen den Knoten erfolgt mit Messaging.

Auf genau einem der Knoten läuft eine Koordinator Komponente.

Jeder Konten aktualisiert in regelmässigen Abständen die #Statusmap

Applikationsserver

Als Applikationsserver kommt JBoss AS7 in der aktuellen Version zum Einsatz.

JBoss' integrierte Cluster-Fähigkeit wird nicht verwendet. Ein Grund hierfür ist, dass derzeit noch keine Dokumentation für die aktuelle Version vorliegt. Ausserdem ist die Applikation dadruch nicht an JBoss als Applikationsserver gebunden, es ist lediglich ein Messaging Provider erforderlich.

Als Messaging System kommt HornetQ zum Einsatz. HornetQ lässt sich nahtlos in JBoss integrieren, bzw. ist bereits in manchen Versionen integriert. HornetQ Server werden im Cluster Modus betrieben, somit wird einerseits Ausfallsicherheit, andererseits Skalierbarkeit gewährleistet.

Datenbank

Als Datenbank kommt neo4j in der Enterprise Edition zum Einsatz. Diese Version ermöglicht es, neo4j Instanzen als Cluster zu betreiben. Neo4j benötigt dafür laufende Zookeeper Instanzen.

Datenstruktur

Client

Aktionen

Clients können folgende Aktionen

Design

Kommunikation

Messaging

Qeues

Koordinator