anticipating the fallacies of distributed computing using ... · the eight fallacies of distributed...

Post on 22-Jun-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

tom.cools@infosupport.comhttps://github.com/TomCools

top related