anticipating the fallacies of distributed computing using ... · the eight fallacies of distributed...
TRANSCRIPT
Anticipating the fallacies of distributed computing using the Netflix OSS
Tom Cools https://github.com/TomCools |@TCoolsIT
#hystrix #archaius #eureka #zuul
Content available at: https://tomcools.be/talks/brujugmeetup-fallacies-netflix-oss
Monolith to Microservices to save the souls! Microservice Envy -> Netflix
4
“We need microservices”
7
Crash and burn -> Distributed computing8
Microservices
Distributed Computing
The Eight Fallacies of Distributed Computing
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology doesn’t change
6. There is one administrator
7. Transport cost is zero
8. Network is homogeneous
Allowing resilience != Assuring resilience
Fault tolerance promiseof MicroServices
Info Support | Solid Innovator
Demo
Requirements
AsyncExecution
SLA Call limitations
FallbackMechanism
Multi-ThreadedSupport
RequestDe-duplication
Problem: Thread Starvation
Threadpool
Solution: Bulkhead Pattern
Threadpool Threadpool Threadpool
15
16
17
Build it yourself? -> question audience
Hystrix
Latency and
Fault Tolerance Library
Info Support | Solid Innovator
Demo
Archaius
Configuration Management Library
Configuration Management withArchaius
Dynamic, Typed Properties
Polling Framework
Callback Mechanism
JMX MBean for access through Jconsole
Most Netflix Libraries use Archaius
Connection Mechanisms
Info Support | Solid Innovator
Demo
Crash and burn -> Distributed computing27
Where is *SERVICE*?!
Eureka
Service Registry
Service Discovery Using Eureka
Eureka is a REST based service
Clusterable
Metadata per Instance
Healthchecks
Info Support | Solid Innovator
Demo
31
Gateway example slide
Zuul
Gateway Service
Source: http://techblog.netflix.com/2013/06/announcing-zuul-edge-service-in-cloud.html
Source: http://techblog.netflix.com/2013/06/announcing-zuul-edge-service-in-cloud.html
Zuul and Friends
Hystrix for Metrics
Eureka for Instance Discovery
Ribbon for Routing
Archaius for real-time configuration
Astyanax for filter persistence in Cassandra
Info Support | Solid Innovator
Demo
Boot-strapthe Netflix OSS
39
Source: https://cloud.spring.io/spring-cloud-netflix/
41
The Eight Fallacies of Distributed Computing
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology doesn’t change
6. There is one administrator
7. Transport cost is zero
8. Network is homogeneous
[email protected]://github.com/TomCools