Foto av Magnus Larsson

Reactive Presentation

// Magnus Larsson

Presentation från Cadec 2015

Med ett ständigt ökande antal uppkopplade enheter (mobiler, plattor, “Internet of things” …) ökar kravet på att kunna hantera många samtidiga anrop till våra system. Traditionellt har Java baserade system använt så kallad ”blocking I/O”, dvs allokerat en tråd för varje inkommande anrop. Detta resulterar i begränsad skalbarhet samt dålig tolerans för fel orsakat primärt av dränerade trådpooler. En nyckelfaktor för att lösa dessa problem är att utnyttja asynkrona mekanismer i underliggande operativsystem som ger möjlighet till så kallad ”non-blocking I/O”. Denna teknik allokerar inte en tråd per anrop vilket leder till betydligt bättre skalbarhet och feltolerans.

Användning av ”non-blocking I/O” leder dock till en callback baserad programmeringsmodell. I lite mer komplexa fall leder detta till svårhanterlig källkod, också känt som “callback hell”.

För att råda bot på ”callback hell” har det vuxit fram ett antal ramverk som är baserade på en ansats som kallas ”reactive programming”.

Föredraget kommer att belysa dessa problem och möjligheter med en blandning av teori, demonstrationer och kodexempel.

Ladda ner presentation

Kommentarer