mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-04 19:33:52 +00:00
This is a short readme file outlining the architecture of the SAP Sailing server. For hints for how to perform typical administrative tasks, please see the ADMIN file which should be stored right next to this README file. The architecture mainly consists of - A 64-bit Linux server running the following services. - Apache web server handling inbound HTTP requests on port 80 (see hostname configurations in /etc/httpd/conf.d/kiel.conf) - dev/test/prod1/prod2 OSGi server instances running the Java component - UDP mirror process that duplicates UDP packets received for "the" production instance and forwards them to the two inbound UDP ports for prod1 and prod2, respectively. - dev/test/prod Python servers running the web application for browser, iPhone and iPad that connect to a Java OSGi server to complete its requests - a Pound load balancer that does alive checks for the prod1/prod2 Java instances to enable quick fail-over - a number of MongoDB instances for dev/test/prod1/prod2 that store leaderboard information for the Python application as well as wind information for the Java component We have a VNC server running on port 5902 with a KDE window manager. There, we operate console windows for the various Java instances and the UDP mirror. Inbound Port Assignments ------------------------ - TCP 22: ssh 80: apache 5902: vnc 8026: Python "dev" instance 8886: servlet container of "dev" Java instance 8887: servlet container of "test" Java instance 8888: servlet container of "prod1" Java instance 8889: servlet container of "prod2" Java instance 10200: MongoDB "dev" instance 12347: SSH forward to localhost:22 required for "mvn deploy" - UDP 2010: wind input for "dev" Java instance 2011: wind input for "test" Java instance 2012: wind input for "prod" (mirrored to 2013/2014) 2013: wind input for "prod1" Java instance 2014: wind input for "prod2" Java instance Java ---- We use Equinox as an OSGi container into which we deploy a set of bundles that implement TracTrac connectivity, Expedition wind connectivity, sailing domain knowledge, race tracking capabilities as well as servlets with RESTful APIs for use by web clients. The