Slide 1

Slide 1 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING

Slide 2

Slide 2 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING EKO KURNIAWAN KHANNEDY ▸ Principal R&D Engineer at Blibli.com ▸ Part of R&D Team at Blibli.com ▸ [email protected] ▸ Spring Cloud Contributor

Slide 3

Slide 3 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING AGENDA ▸ Intro ▸ Hystrix ▸ How to use Hystrix ▸ Spring Cloud Hystrix ▸ Demo

Slide 4

Slide 4 text

INTRO RESILIENCE ENGINEERING

Slide 5

Slide 5 text

NEW TOOLS FOR NEW ERA

Slide 6

Slide 6 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING WE NEED TO WRITE APPLICATION THAT MANAGES ▸ Multi devices (web, mobile) ▸ Multicore architecture ▸ Cloud computing environtments

Slide 7

Slide 7 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING DELIVER APPLICATION THAT ARE ▸ Interactive and real time ▸ Responsive ▸ Fast and consistent

Slide 8

Slide 8 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING WE NEED TO BUILD SYSTEM THAT ▸ react to events - Event Driven ▸ react to load - Scalable ▸ react to failure - Resilient ▸ react to users - Responsive

Slide 9

Slide 9 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING REACTIVE APPLICATION

Slide 10

Slide 10 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING RESILIENT - THE HARD PART ▸ The system stays responsive in the face of failure. ▸ Any system that is not resilient will be unresponsive after a failure.

Slide 11

Slide 11 text

HYSTRIX RESILIENCE ENGINEERING

Slide 12

Slide 12 text

LATENCY AND FAULT TOLERANCE LIBRARY FOR DISTRIBUTED SYSTEMS Hystrix RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING

Slide 13

Slide 13 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING WHAT IS HYSTRIX FOR? ▸ Give protection from and control over latency and failure from dependencies accessed (typically over the network) via third-party client libraries. ▸ Stop cascading failures in a complex distributed system. ▸ Fail fast and rapidly recover. ▸ Fallback and gracefully degrade when possible. ▸ Enable near real-time monitoring, alerting, and operational control.

Slide 14

Slide 14 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING WHAT PROBLEM DOES HYSTRIX SOLVE? (1)

Slide 15

Slide 15 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING WHAT PROBLEM DOES HYSTRIX SOLVE? (2)

Slide 16

Slide 16 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING WHAT PROBLEM DOES HYSTRIX SOLVE? (3)

Slide 17

Slide 17 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING HOW DOES HYSTRIX ACCOMPLISH ITS GOALS? ▸ Wrapping all calls to external systems (or “dependencies”) in a HystrixCommand ▸ Timing-out calls that take longer than thresholds you define ▸ Maintaining a small thread-pool (or semaphore) for each dependency ▸ Tripping a circuit-breaker to stop all requests to a particular service for a period of time ▸ Performing fallback logic when a request fails

Slide 18

Slide 18 text

HOW TO USE HYSTRIX RESILIENCE ENGINEERING

Slide 19

Slide 19 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING HYSTRIX COMMAND

Slide 20

Slide 20 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING REACTIVE HYSTRIX COMMAND

Slide 21

Slide 21 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING EXECUTE HYSTRIX COMMAND

Slide 22

Slide 22 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING FALLBACK

Slide 23

Slide 23 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING COMMAND KEY

Slide 24

Slide 24 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING GROUP KEY

Slide 25

Slide 25 text

SPRING CLOUD HYSTRIX RESILIENCE ENGINEERING

Slide 26

Slide 26 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING HOW TO INCLUDE HYSTRIX (1)

Slide 27

Slide 27 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING HOW TO INCLUDE HYSTRIX (2)

Slide 28

Slide 28 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING USING HYSTRIX JAVANICA

Slide 29

Slide 29 text

RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING HOW TO MONITOR HYSTRIX COMMAND

Slide 30

Slide 30 text

DEMO

Slide 31

Slide 31 text

https://github.com/JVMDeveloperID/ Spring-Hystrix Demo Source Code RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING

Slide 32

Slide 32 text

ANY QUESTION? [email protected] RESILIENCE ENGINEERING WITH HYSTRIX AND SPRING