Eudoxus technical architecture (Greek)

  • 626 views
Uploaded on

 

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
626
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Τεχνική Αρχιτεκτονική Εύδοξου Βασικές Κατευθύνσεις Βασικοί σχεδιαστικοί στόχοι:  Υψηλή δυνατότητα κλιμάκωσης  Ελαστικότητα  Υψηλή διαθεσιμότητα  Δυνατότητα live application update  Κάποιοι συμβιβασμοί στα παραπάνω λόγω εξαιρετικά περιορισμένου χρόνου για σχεδιασμό και υλοποίηση:  Επιλέχθηκε RDBMS και όχι NoSQL storage  Δεν υπάρχει το redundancy που θα θέλαμε  Υπάρχει άνω όριο κλιμάκωσης το οποίο όμως είναι πολύ υψηλότερο από τον υφιστάμενο αριθμό φοιτητών
  • 2. Τεχνική Αρχιτεκτονική Εύδοξου Βασικά Ποιοτικά Χαρακτηριστικά Όσο το δυνατόν περισσότερη λειτουργικότητα στον browser – Ajax-based rich gui εφαρμογές Caching σε πολλαπλά επίπεδα:  Στον browser (web resources & στην εφαρμογή)  Web accellerator (μπροστά από app servers)  ORM layer (JPA / Hibernate) – app server  Second level caching – app server  Cache DB files in RAM – db server Stateless λογική (δεν υπάρχει http session) Cloud computing λογική στην υποδομή
  • 3. Τεχνική Αρχιτεκτονική Εύδοξου Λογική Αρχιτεκτονική & Τεχνολογίες Υλοποίησης Βασικές δομικές μονάδες (100% FLOSS):  Web server (Apache): front-end, χειρίζεται SSL και σύνδεση Shibboleth. Επίσης, δεύτερος server (nginx) για εξυπηρέτηση μεγάλων στατικών αρχείων  Font end caching / web accellerator (Varnish): Caching των εφαρμογών (js, css, html) και των REST responses (όπου είναι εφικτό)  Application Servers (JBoss): Business logic της εφαρμογής – N workers (”ελαστικό” Ν)  Search / Indexing server (Solr)  Database server (PostgreSQL): διαχείριση και αποθήκευση δεδομένων.
  • 4. Τεχνική Αρχιτεκτονική Εύδοξου Αρχιτεκτονικό Διάγραμμα AJAX client apps AJAX client apps Ευδοξου AJAX client appsΕυδοξου User Web Browser Ευδοξου https Apache & Varnish nginx Υποδομή Dynamic Varnish Cache Cloud Computing Συνοδευτικά worker pool Αρχεία βιβλίων Worker 1 Worker 2 Worker n (JBoss) (JBoss) (JBoss) High availability &Indexing / Search Performance storage Server DB Server (Solr) (PostgreSQL) index Eudoxus DB