Trilha Java TDC 2015: A programação reativa permite trazer desenvolvedores para um próximo nível no quesito concorrência no server-side, tornando as preocupações como thread-safety e sincronização mais fáceis de lidar. Nesta talk mostramos os pilares da programação reativa e quais as oportunidades que os desenvolvedores podem ter utilizando este paradigma, que fazem empresas de sucesso, como a Netflix, terem uma arquitetura excelente para o seu negócio.
4. INTERNET USERS
2.4bi
2012
INTERNET USERS
3.01bi
TENS OF SERVERS
Fontes: http://recode.net/2014/05/28/meeker-as-internet-user-growth-slows-the-real-driver-is-mobile-usage/
http://www.slideshare.net/wearesocialsg/digital-social-mobile-in-2015
RESPONSE TIME
SECONDS
CLOUD-BASED CLUSTER
MULTICORE
OFFLINE
MAINTENANCE
REAL TIME
MILLISEC/MICROSEC
100%
UPTIME
FAST DATA
GIBABYTE DATA
BIGDATA
PETABYTES
2015
5. Como criamos sistemas mais robustos,
mais resilientes, mais flexíveis e
muito mais capazes de responder às
exigências de hoje em dia?
6. Precisamos de sistemas que irão:
● Reagir a eventos (Event-Driven)
● Reagir a carga (Scalable)
● Reagir a falhas (Resilient)
● Reagir a usuários (Responsive)
8. O que são sistemas Reativos?
Sistemas criados como Reativos são muito mais
flexíveis, desacoplados e escaláveis. Isso os torna
mais fáceis de desenvolver e manter. São mais
tolerantes a falhas e quando elas ocorrem são
tratadas com elegância ao invés de desastre.
Sistemas Reativos são responsivos, dando aos
usuários feedbacks mais interativos.
Fonte: http://www.reactivemanifesto.org/pt-BR
11. Some t ls
● Actors
● Agents
● Future/Dataflow
● Reactive Extensions (Rx)
12. Elastic
“Capable of being easily expanded or
upgraded on demand”
Distribuited
systems
Availability
Scalability
Asynchronous
13. “Almost” no limit to scalability.
Shared Nothing
Assynchronous communication
Location Transparency
Loose Coupling
14. Resilience
“The ability of a substance or object to spring back into shape.”
“The capacity to recover quickly from difficulties.”
Failure recover
Manage failure
locally
Avoid cascading
failures
Isolate the
failure