( janoszen | 2015. 11. 17., k – 13:15 )

Szerintem ne akarj multicastolni. Maceras es nem tudod trivialisan a publikus interneten keresztul routolni. Ha HTTP-re (vagy mas jol definialt protokollra) epitesz, akkor ugyan vesztesz egy kicsit a low levelsegebol, cserebe konnyen debuggolhatova valik es konnyebb lesz fejleszteni.

Ha ebbe az iranyba mesz, erdemes megfontolni hogy legyen a protokollban switchboard lehetoseg. Ez azt jelenti hogy a kliens eloszor megkerdezi hogy hol van az o sajat szerver es oda csatlakozik, a szerverek egymas kozott pedig tarthatnak fent permanens kapcsolatot. (Vigyazat, itt csak terheleselosztasrol beszelunk, nem HA-ral. Ahhoz a szerverek kozott kell tobbsegi szavazast csinalni.) Ez eleg sok mindenben tud segiteni, meg akkor is ha elsore nem hasznalod ki, pl konnyen at tudod routolni a forgalmat egy masik adatkozpontba, stb.

Backend technologianak olyat valassz, ami nem akar kliensenkent egy processt inditani (pl PHP), mert az Isten osszes memoriaja sem lesz eleg, a geprol nem is beszelve. Olyat hasznalj, ami kepes event looppal dolgozni, tehat pl. Java, Python vagy NodeJS. (Amihez van szakertelem, barmelyik kepes ra, bar mezitlabas fejlesztokkel nem sokra mesz, ide olyan ember kell aki keni-vagja hogy alatta az OS mit csinal, kulonben nem lesz stabil / koltseghatekony.) Meg azt is el tudom kepzelni, hogy talalsz valami kesz vagy feligkesz megoldast ra, valahol PUB/SUB iranyban. Errol pl ezt erdemes elolvasni: http://highscalability.com/blog/2014/4/28/how-disqus-went-realtime-with-165k-messages-per-second-and-l.html

--
Pásztor János
Sole Proprietor @ Opsbears
Development Lead @ IXOLIT