Upload
izzet-mustafaiev
View
663
Download
0
Tags:
Embed Size (px)
Citation preview
● just baked father
● SA at EPAM Systems
● primary skill is Java
● hands-on-coding with Groovy, Ruby
● trying to get in touch with Erlang/Elixir
● passionate about agile, clean code and devops
JRugged https://github.com/Comcast/jrugged
A Java library of robustness design
patterns that makes your Java code
more rugged
- implements some common patterns like Circuit Breaker, Limited Retries etc;- provides straightforward add-ons to existing code;- performance monitoring capabilities
Hystrix https://github.com/Netflix/Hystrix
Latency and Fault Tolerance for
Distributed Systems
- isolates points of access to remote systems, services and 3rd party libraries;- stops cascading failure;- enables resilience in complex distributed systems where failure is inevitable;- real-time monitoring and configuration changes;- parallel execution;
#1 Modularity
● Small components = understandable
● Single Responsibility Principle
● Loose coupling high cohesion
● Microservices?..
● Systems are distributed● Systems are becoming even more distributed…● Failures are the normal case● Failures are not predictable● Fault tolerant = scalable● It’s all about availability of production system
Summary
● http://en.wikipedia.org/wiki/Fault_tolerance
● http://martinfowler.com/bliki/CircuitBreaker.html
● https://github.com/Netflix/Hystrix
● https://github.com/webdizz/fault-tolerance-talk
Izzet Mustafayev@EPAM Systems@webdizz webdizz izzetmustafaievhttp://webdizz.name