Upload
steve-pember
View
734
Download
0
Embed Size (px)
Citation preview
THIRDCHANNEL
Possible Reactive Definitions• Reactive Programming
• Reactive Systems
• Reactive Streams / Reactive Extensions (Rx)
THIRDCHANNEL
Agenda• Reactive Systems
• Reactive Streams / Reactive Extensions
• Reactive Groovy
• Demos
THIRDCHANNEL
Reactive Systems• The Need for Reactive
• 4 Reactive Principles
• Responsive
• Resilient
THIRDCHANNEL
Reactive Systems• The Need for Reactive
• 4 Reactive Principles
• Responsive
• Resilient
• Elastic (Scalable)
THIRDCHANNEL
Reactive Systems• The Need for Reactive
• 4 Reactive Principles
• Responsive
• Resilient
• Elastic (Scalable)
• Asynchronous Message-Driven
THIRDCHANNEL
Reactive Streams / Extensions• Originally out of Microsoft
• Brought to JVM
• Designed to Handle Messages Asynchronously Across Boundaries
THIRDCHANNEL
Reactive Streams / Extensions• Originally out of Microsoft
• Brought to JVM
• Designed to Handle Messages Asynchronously Across Boundaries
• Composable
THIRDCHANNEL
Reactive Streams / Extensions• Originally out of Microsoft
• Brought to JVM
• Designed to Handle Messages Asynchronously Across Boundaries
• Composable
• Hot / Cold
THIRDCHANNEL
Reactive Streams / Extensions• Originally out of Microsoft
• Brought to JVM
• Designed to Handle Messages Asynchronously Across Boundaries
• Composable
• Hot / Cold
• Backpressure
THIRDCHANNEL
Akka & Akka Streams• Definition of Reactive System
• Typesafe
• Actor-Based Concurrency
• Implemented Streams on Top of Actor Model
THIRDCHANNEL
• HTTP application server
• Non-opinionated
• Built on Reactive Streams, Netty, Java 8, Guava
• Fully embodies reactive
THIRDCHANNEL
Java 8 Streams• Built into the language
• Meant for Finite Iterables
• Observables -> potentially infinite items, with back pressure
• “Pulling” vs “Pushing”
THIRDCHANNEL
Agenda• Reactive Systems
• Reactive Streams / Reactive Extensions
• Groovy Options
• Demos
Image Credits• 1000ms Time To glass:
https://docs.google.com/presentation/d/1IRHyU7_crIiCjl0Gvue0WY3eY_eYvFQvSfwQouW9368/present?slide=id.g1e697bbb_0_7
• internet users in the world: http://www.internetlivestats.com/internet-users/
• internet users vs Facebook: https://medium.com/reactive-programming/what-is-reactive-programming-bc9fa7f4a7fc
• reactivex logo: https://www.stickermule.com/marketplace/2223-rx-reactive-extensions-logo-4
• cheetah: www.livescience.com/21944-usain-bolt-vs-cheetah-animal-olympics.html
• dominoes: https://www.flickr.com/photos/louish/5611657857/sizes/l/in/photostream/
• 300 / Spartans: http://www.300themovie.com/
• latop punch: http://walls4joy.com/wallpaper/730566-angry-laptops-punch
• mailman: http://thebrandtstandard.com/2013/02/09/u-s-post-office-to-end-saturday-letter-delivery-this-summer/
• actor system: http://letitcrash.com/post/30585282971/discovering-message-flows-in-actor-systems-with
• slow down: http://forthefamily.org/reminder-slow/