Skip to content

Commit

Permalink
updates build
Browse files Browse the repository at this point in the history
  • Loading branch information
Robb-Fr committed Sep 6, 2024
1 parent caaddce commit 93c120b
Show file tree
Hide file tree
Showing 9 changed files with 106 additions and 8 deletions.
Binary file modified docs/_build/doctrees/class21/modules/module2.doctree
Binary file not shown.
Binary file modified docs/_build/doctrees/environment.pickle
Binary file not shown.
59 changes: 58 additions & 1 deletion docs/_build/html/_sources/class21/modules/module2.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1429,6 +1429,8 @@ They are not operating on the same aspects of HTTP (request vs. response).
1.4 - Modify or tune a memory zone configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#sharing-data-with-multiple-worker-processes

*TODO*

|
Expand All @@ -1443,7 +1445,62 @@ They are not operating on the same aspects of HTTP (request vs. response).
1.4 - Describe how open source NGINX handles health checks in different situations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*TODO*
https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/

https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-health-check/

https://docs.nginx.com/nginx/admin-guide/load-balancer/udp-health-check/

https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server

**NGINX OSS handles passive health checks**

First, as the certification cover NGINX OSS only, note that many features
related to health checks are therefore not covered (active health checks,
server drains, slow starts, etc.).

NGINX handling passive health checks means that, when reverse-proxying
connections, if it realizes that the upstream server does not respond, it will
not stand there and keep sending new connections to this backend. NGINX will
internally flag this server as down for a certain amount of time, and not send
requests to it again until it gets considered up again.

If the upstream group is in a shared memory zone, the upstream servers' state
is shared among NGINX workers, making the server unavailability available to
all workers and preventing, when having N workers, having N times trials to
proxy client request to a failed server but do this only once.

The handling of health check is quite similar for each protocol (HTTP, TCP or
UDP).

Health check are handled only when using upstream block. The ``server``
directive has options to precise health check behaviour for a certain server:
``max_fails`` and ``fail_timeout``.

In the following example, if NGINX fails to send a request to a server or does
not receive a response from it 3 times in 30 seconds, it marks the server as
unavailable for 30 seconds:

.. code-block:: NGINX
upstream backend {
server backend1.example.com;
server backend2.example.com max_fails=3 fail_timeout=30s;
}
Note that if there is only a single server in a group, the fail_timeout and
max_fails parameters are ignored and the server is never marked unavailable.

By default, ``max_fails=1`` and ``fail_timeout=10s``. Also note that
``fail_timeout`` defines both, the time NGINX waits before considering the
server timed out, and the time during which a server is flagged as down after
it has reached that timeout. This aspect can be surprising.

**Health checking for HTTP, TCP and UDP upstream servers**

HTTP, TCP and UDP passive health checks are configured with the same
parameters, the only difference is that the upstream server group would be
created in a ``stream`` or an ``http`` block.

|
|
2 changes: 1 addition & 1 deletion docs/_build/html/class21/class21.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<meta name="title" content="F5 N1-N4 - NGINX OSS - NOT CREATED"/>
<meta name="product" content="Unofficial - F5 Certification Exam Prep Material"/>
<meta name="version" content=""/>
<meta name="updated_date" content="2024-09-06 03:05:59"/>
<meta name="updated_date" content="2024-09-06 03:57:36"/>
<meta name="archived" content="Archived documents excluded"/>
<meta name="doc_type" content="Manual"/>
<meta name="lifecycle" content="release"/>
Expand Down
45 changes: 43 additions & 2 deletions docs/_build/html/class21/modules/module2.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<meta name="title" content="F5N2 - Configuration: Knowledge"/>
<meta name="product" content="Unofficial - F5 Certification Exam Prep Material"/>
<meta name="version" content=""/>
<meta name="updated_date" content="2024-09-06 03:05:59"/>
<meta name="updated_date" content="2024-09-06 03:57:36"/>
<meta name="archived" content="Archived documents excluded"/>
<meta name="doc_type" content="Manual"/>
<meta name="lifecycle" content="release"/>
Expand Down Expand Up @@ -1464,6 +1464,7 @@ <h3>1.4 - Describe the difference between proxy_set_header and add_header<a clas
</div>
<div class="section" id="id1">
<h3>1.4 - Modify or tune a memory zone configuration<a class="headerlink" href="#id1" title="Permalink to this headline"></a></h3>
<p><a class="reference external" href="https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#sharing-data-with-multiple-worker-processes">https://docs.nginx.com/nginx/admin-guide/load-balancer/http-load-balancer/#sharing-data-with-multiple-worker-processes</a></p>
<p><em>TODO</em></p>
<div class="line-block">
<div class="line"><br /></div>
Expand All @@ -1478,7 +1479,47 @@ <h3>1.4 - Describe how to configure NGINX as socket reverse proxy<a class="heade
</div>
<div class="section" id="describe-how-open-source-nginx-handles-health-checks-in-different-situations">
<h3>1.4 - Describe how open source NGINX handles health checks in different situations<a class="headerlink" href="#describe-how-open-source-nginx-handles-health-checks-in-different-situations" title="Permalink to this headline"></a></h3>
<p><em>TODO</em></p>
<p><a class="reference external" href="https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/">https://docs.nginx.com/nginx/admin-guide/load-balancer/http-health-check/</a></p>
<p><a class="reference external" href="https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-health-check/">https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-health-check/</a></p>
<p><a class="reference external" href="https://docs.nginx.com/nginx/admin-guide/load-balancer/udp-health-check/">https://docs.nginx.com/nginx/admin-guide/load-balancer/udp-health-check/</a></p>
<p><a class="reference external" href="https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server">https://nginx.org/en/docs/http/ngx_http_upstream_module.html#server</a></p>
<p><strong>NGINX OSS handles passive health checks</strong></p>
<p>First, as the certification cover NGINX OSS only, note that many features
related to health checks are therefore not covered (active health checks,
server drains, slow starts, etc.).</p>
<p>NGINX handling passive health checks means that, when reverse-proxying
connections, if it realizes that the upstream server does not respond, it will
not stand there and keep sending new connections to this backend. NGINX will
internally flag this server as down for a certain amount of time, and not send
requests to it again until it gets considered up again.</p>
<p>If the upstream group is in a shared memory zone, the upstream servers’ state
is shared among NGINX workers, making the server unavailability available to
all workers and preventing, when having N workers, having N times trials to
proxy client request to a failed server but do this only once.</p>
<p>The handling of health check is quite similar for each protocol (HTTP, TCP or
UDP).</p>
<p>Health check are handled only when using upstream block. The <code class="docutils literal notranslate"><span class="pre">server</span></code>
directive has options to precise health check behaviour for a certain server:
<code class="docutils literal notranslate"><span class="pre">max_fails</span></code> and <code class="docutils literal notranslate"><span class="pre">fail_timeout</span></code>.</p>
<p>In the following example, if NGINX fails to send a request to a server or does
not receive a response from it 3 times in 30 seconds, it marks the server as
unavailable for 30 seconds:</p>
<div class="highlight-NGINX notranslate"><div class="highlight"><pre><span></span><span class="k">upstream</span> <span class="s">backend</span> <span class="p">{</span>
<span class="kn">server</span> <span class="s">backend1.example.com</span><span class="p">;</span>
<span class="kn">server</span> <span class="s">backend2.example.com</span> <span class="s">max_fails=3</span> <span class="s">fail_timeout=30s</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
</div>
<p>Note that if there is only a single server in a group, the fail_timeout and
max_fails parameters are ignored and the server is never marked unavailable.</p>
<p>By default, <code class="docutils literal notranslate"><span class="pre">max_fails=1</span></code> and <code class="docutils literal notranslate"><span class="pre">fail_timeout=10s</span></code>. Also note that
<code class="docutils literal notranslate"><span class="pre">fail_timeout</span></code> defines both, the time NGINX waits before considering the
server timed out, and the time during which a server is flagged as down after
it has reached that timeout. This aspect can be surprising.</p>
<p><strong>Health checking for HTTP, TCP and UDP upstream servers</strong></p>
<p>HTTP, TCP and UDP passive health checks are configured with the same
parameters, the only difference is that the upstream server group would be
created in a <code class="docutils literal notranslate"><span class="pre">stream</span></code> or an <code class="docutils literal notranslate"><span class="pre">http</span></code> block.</p>
<div class="line-block">
<div class="line"><br /></div>
<div class="line"><br /></div>
Expand Down
2 changes: 1 addition & 1 deletion docs/_build/html/genindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<meta name="title" content="Index"/>
<meta name="product" content="Unofficial - F5 Certification Exam Prep Material"/>
<meta name="version" content=""/>
<meta name="updated_date" content="2024-09-06 03:05:59"/>
<meta name="updated_date" content="2024-09-06 03:57:36"/>
<meta name="archived" content="Archived documents excluded"/>
<meta name="doc_type" content="Manual"/>
<meta name="lifecycle" content="release"/>
Expand Down
2 changes: 1 addition & 1 deletion docs/_build/html/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<meta name="title" content="Unofficial - F5 Certification Exam Study Guides and Labs"/>
<meta name="product" content="Unofficial - F5 Certification Exam Prep Material"/>
<meta name="version" content=""/>
<meta name="updated_date" content="2024-09-06 03:05:59"/>
<meta name="updated_date" content="2024-09-06 03:57:36"/>
<meta name="archived" content="Archived documents excluded"/>
<meta name="doc_type" content="Manual"/>
<meta name="lifecycle" content="release"/>
Expand Down
2 changes: 1 addition & 1 deletion docs/_build/html/search.html
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
<meta name="title" content="Search"/>
<meta name="product" content="Unofficial - F5 Certification Exam Prep Material"/>
<meta name="version" content=""/>
<meta name="updated_date" content="2024-09-06 03:05:59"/>
<meta name="updated_date" content="2024-09-06 03:57:36"/>
<meta name="archived" content="Archived documents excluded"/>
<meta name="doc_type" content="Manual"/>
<meta name="lifecycle" content="release"/>
Expand Down
2 changes: 1 addition & 1 deletion docs/_build/html/searchindex.js

Large diffs are not rendered by default.

0 comments on commit 93c120b

Please sign in to comment.