twitter tehnologija

Twitter Tehnologija

By , 2014/09/06

Površinski, Twitter je mikroblog socijalna mreža preko koje korisnici imaju na raspolaganju 140 karaktera (baziranih na sms poruci ) zvanih “tweets” za komuniciranje sa njihovim pratiocima.

Svima je poznato da Twitter u odnosu na Facebook je “mala maca” što se tiče kompleksnosti samog interfejsa i načina rada. Da, sigurno, ali, samo na prvi pogled. Bez obzira što Twitter izgleda kao “manja” aplikacija, sa tehničke strane to uopšte nije. Preko 300 miliona aktivnih korisnika, i više od 400 miliona tvitova dnevno sa bilo kojeg vida je noćna mora svih inžinjera. Takav real-time sistem uopšte nije lako održavati, ne samo sa server strane, prvenstveno mislim na core tehnologiju, a to su baze podataka, programski jezici, kao i sam source code. Naravno, Open source je doprineo mnogo kada je u pitanju sama izrada Twitter-a.

Tehnologija iza Tvitova

Početak Twitter-a, i sama izrada je bila bazirana na Rubby On Rails framework-u, koji je koristio se najčešće za front-end, pretragu.. dok su za back-end korišćeni Scala, Java a ponekad i C. Baza podataka je kompletno urađena na MySql platformi.

Naravno, to je sve bilo u početku 2008 – 2009. godine. Mnogi će iznenaditi se podatkom da je Rubby On Rails bio main framework za izradu ovog social network giganta. Sigurno najveći projekat koji je ikad urađen na ovom framework-u.  Što jasno pokazuje koliko je ovaj framework pouzdan kada su u pitanju veliki projekti. Naravno, nijedan framework ne može sam nositi se sa milionima korisnika dnevno, ma koliko on imao jaku zajednicu. A pogotovo ne sa multimilionskim dnevnim posetama.

Zbog toga, Twitter je početkom 2011. godine postepeno prelazilo na nova rešenja, koja će se “nositi” sa milionskom posetom.

Danas, ova kompanija oslanja se prvenstveno na Java i Scala (koju pokreće Java Virtual Mašina) programski jezik.

Predstavljam vam listu tehnologija koje Twitter danas koristi:

Scala programski jezik koristi se za:

  • Pretragu imena
  • “Who To Follow”
  • Api
  • Geo…

Java koristi se za:

  • Front-End
  • Pretragu

MySql je još uvek primarna baza podataka koju Twitter koristi za tvitove i korisnike, mada, nije jedina, jer Twitter koristi i mnoge NoSql baze:

Naravno, ovo je deo koji se odnosi na source code i aplikacije, u ovom članku nisam pominjao servere koji su naravno jedan od najbitnijih komponenti ove kompanije.

Nadam se da sam na neki način ovim istraživanjem približio vam tehnologiju koju Twitter koristi, jer, na internetu se nalazi mnogo pogrešnih informacija, čak i apsurdnih,  meni lično najsmešnija je da Twitter pokreće Drupal. Jeste, da je u Drupalu rađena about.twitter.com ali, ništa više od toga.

Pinterest