«« ( Date ) »» // «« ( Thread ) »» // kdp - 2011

Re: Pitanja u vezi domaceg zadatka

by Zaharije Radivojevic
nedelja, 28. avgust 2011 - 21:02.

Поштовани,

У наставку су одговори на Ваша питања.


> Колико сам вас разумео, приликом сваког трансфера, ми би требало да
> синхронизујемо све сервере.
Није потребно да синхронизујете све сервере већ потребан број сервера.
Овај потребан број би било двва сервера оператера, и централни сервер. Шта
ће бити са осталим серверима и када ће се они синхронизовати то није од
значаја, под условом да су трансакције реализоване као идемпотентне, то
јест могу да се извршавају већи број пута без последица.

> Прво сервере од ОП1 са којих се пребацује број, па централи сервер,
> па онда сервере ОП2 на које се пребацује број. То је ок.
Ово је довољно да би се кориснику рекло да је трансакција завршена јер у
систему постоји редундантан податак и не постоји могућност да дође до
губитка информација уколико један, било који, сервер откаже.

> Али ако се синхронизују сви сервери сваког оператера, којих има рецимо
> преко 100, зар не би онда сама трансакција одузимала превише времена?
Ово оператери код нас у земњи не раде. Оно како је прописано одговарајућим
правилником и реализовано је да централни свер никога ништа не обавештава.
Он само чува податке и чека да их оператери затраже. Сервер оператера
пеиодично трачи податке о променама и тека када их примени централни север
кажа да је трансакција прошла. Како се севери опетарера синхронизују није
на централном серверу. Оно што је одређено је да оператери не могу да баш
са сваког свог сервера да запиткују централни свер већ да синхронизацију
морају интерно да разреше.

> Зато сам дошао до следећег решења:
> Када централни сервер врати потврду о пребацивању броја, ради се следеће:
> - синхронизује се са једним сервером да постоји нови корисник,
> - сачувају се подаци о корисницима (са новим корисником) у локалној
> датотеци,
> - прогласи трансфер успешном,
> - затим се синхронизује са свим осталим серверима.
Ово је довољно добро, под условом да у било ком трнутку барем два сервера
имају редундантан податак.

> Ако сматрате би требало прво синхронизовати све сервере, па тек онда
> прогласити трансфер успешним, реците. Јасно ми је да постоји прописан рок
> за
> трансакцију, али да ли можемо да сматрамо да ће то време бити довољно?
Период који корнисник хоће да чека је највише један минут, али би тај
параметар, као и све друге у систему требали да реализујете конфигурабилно
тако да могу да се унесу, без потребе за поновним превођењем програма.

Поздрав
Захарије