Giter Club home page Giter Club logo

Comments (1)

BagheriReza avatar BagheriReza commented on September 26, 2024

Based on my observation, when a system faces some percentages of error, with help of the retry function the cluster can recover. And from the client's point of view, it works normally.
From Istio Retries documentation: Default retry is hardcoded and its value is equal to 2. It means any circumstance, it will try two times at least.
From this experiment, We simulate the situation where the db microservice faces some problem and rejects some percentage of requests by error code 500. The fault injection has been done with help of istio. On the other hand, we tried to use the retry function to recover the system.
It is clear that the retry function can help to recover the system, but the efficiency of the retry function depends on the percentage of failure and traffic of the network. The details exploration has been done and reported in this report (#29).
but these retries can make problems of congestion inside the cluster which can be controlled by the circuit breaker. (#33).
Interesting facts, regarding the number of retries:
I have injected 100% fault in db so I expected to see that s1 retry to send a request based on the number of retries. But my observation was different, In the beginning, there is no retry configuration, but istio as a default configuration retry to send the failed request again, because of that failed requests are 20, two times of origin request which was 10. As you can see in the diagram the number of requests is not following the number of retries. It seems, that there are mechanisms that prevent the retry function to go linear when the number of retries increases.

01.pdf

from term-project-cloudriven.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.