Your SlideShare is downloading. ×
0
Arhitectura HotNews.ro
Arhitectura HotNews.ro
Arhitectura HotNews.ro
Arhitectura HotNews.ro
Arhitectura HotNews.ro
Arhitectura HotNews.ro
Arhitectura HotNews.ro
Arhitectura HotNews.ro
Arhitectura HotNews.ro
Arhitectura HotNews.ro
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Arhitectura HotNews.ro

3,151

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,151
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
2
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. Arhitectura HotNews.ro Marius Hanganu
  • 2. Cerinte • Scalabilitate - adaugarea facila de servere pentru a permite mai multi vizitatori; serverele sa ofere toate functionalitatile • Functionarea continua – chiar si in cazul in care se face un update la baza de date • Controlul manual al aproape fiecarei zone din site (tile) • Managementul mai multor siteuri
  • 3. Cateva statistici (cf Analytics) • Aproape 3 milioane unici pe luna • Peste 17 milioane de pagini servite pe luna • Peak de peste 400.000 unici / 2.000.000 pagini / zi • Peak de 300 cereri / secunda • Peste 1000 de comentarii pe zi • Sustinute doar de 2 servere
  • 4. Arhitectura (1) • Servere: Tomcat, MySQL, Apache, ldirectord • Librarii Java/Javascript: Spring, Hibernate, JGroups, OSCache, SOLR, Velocity, Quartz, DWR, ExtJS, jQuery (Prototype / Scriptaculous) • Alte librarii: Ffmpeg, ImageMagick • MVC cache-uibil • Varianta pda, multi-language • Management pentru orice numar de siteuri
  • 5. Arhitectura (2) • Transparenta maxima pentru dezvoltator: codul este liber de referinte la indexare (SOLR) sau caching (OSCache) • Tipuri de obiecte cu proprietati similare (statistici, comentarii, voturi, etc) • O zona de ecran (tile) are un comportament (care poate fi comun mai multor tile-uri) si un template (care poate fi comun mai multor tile-uri) • Tileul contine recursiv oricate alte tileuri • Tileul poate avea un comportament dinamic (Groovy)
  • 6. Caching • Velocity in loc de JSP • Local pe fiecare masina • Structura ierarhica • Transparent pentru dezvoltator – Declarativ – tileuri cache-uite • Bazat pe o coada de prioritati • Sistem de dependente intre obiecte automatizat • Replicare prin Jgroups • Orice server isi poate reface cache-ul independent
  • 7. Media server • Support imagini, video, audio • Embedded sau separat • Proxy-uri pe serverele publice pentru serverul central • Generarea de variante de imagini on the fly • Importul automat din diverse surse externe
  • 8. SOLR • SolrSync – Sincronizare Hibernate-SOLR transparenta pentru utilizatori – Stocarea pe diferite servere SOLR in functie de tipul obiectului • Filter API – similar Hibernate Criteria • Refacerea indexului – OBLIGATORIE – totala / partiala / per tip de obiect • Filtru diacritice • Stemmer pentru limba romana • “Near real time reindexing” e departe de real time
  • 9. Deploy • ldirectord • Script de build, deploy, backup, update & restart • Offline mode – fara baza de date • Svn-task – generare rapoarte folosind Subversion • Teste de performanta cu Jmeter si AB (Apache Benchmark)
  • 10. Multumesc

×