Starting references to Release It by Michael T Nygard
This commit is contained in:
parent
ae881a52fe
commit
32517aa7b1
|
@ -21,6 +21,17 @@ Au niveau des composants destinés à épauler ces applications, nous pouvons di
|
|||
\textbf{Les composants de supervision}, qui permettent de s'assurer que tout fonctionne correctement, et qu'aucun incident n'est prévu ou n'a été constaté récemment.
|
||||
\end{enumerate}
|
||||
|
||||
\textit{Designing for production} means thinking about production issues as first-class concerns: \cite[pp. 142-143]{release_it}:
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Operations}: Security, availablity, capacity, status, communication,
|
||||
\item \textbf{Control plane}: Monitoring, deployment, anomaly detection, new features
|
||||
\item \textbf{Interconnect}: Routing, load balancing, failover, traffic management
|
||||
\item \textbf{Instances}: Services, processes, components, instance monitoring
|
||||
\item \textbf{Foundation}: Hardware, VMs, IP addresses, physical network.
|
||||
\end{itemize}
|
||||
|
||||
|
||||
\section{Composants fonctionnels}
|
||||
|
||||
\begin{figure}[H]
|
||||
|
@ -164,6 +175,19 @@ Au niveau logiciel (la partie mise en subrillance ci-dessus), la requête arrive
|
|||
|
||||
https://circus.readthedocs.io/en/latest/, https://uwsgi-docs.readthedocs.io/en/latest/, statsd
|
||||
|
||||
\begin{quote}
|
||||
When we crash an actor or a process, how does a new one get started ?
|
||||
You could write a bash script with a while() loop in it.
|
||||
But what happens when the problem persists across restarts ?
|
||||
The script basically fork-bombs the server. \cite[p. 109-110]{release_it}
|
||||
\end{quote}
|
||||
|
||||
Actors system use a hierarchical tree of supervisors to manage the restarts.
|
||||
Whenever an actor terminates, the runtime notifies the supervisor.
|
||||
The supervisor can then decide to restart the child actor, restart all of its children, or crash itself.
|
||||
If the supervisor crashes, the runtime will terminate all its children and notify the supervisor's supervisor.
|
||||
Ultimately you can get while branches of the supervision tree to restart with a clean state.
|
||||
|
||||
|
||||
\subsection{Journaux d'évènements}
|
||||
|
||||
|
|
|
@ -1064,7 +1064,9 @@ Cet élément peut être:
|
|||
|
||||
\subsubsection{Ignorer une ligne de code}
|
||||
|
||||
\begin{listing}
|
||||
|
||||
\end{listing}
|
||||
|
||||
\subsubsection{Ignorer un bloc de code}
|
||||
|
||||
|
|
|
@ -100,6 +100,10 @@
|
|||
isbn = {978-1-449-37332-0},
|
||||
release = {Fifteenth release - 2021-03-26}
|
||||
}
|
||||
@book{release_it,
|
||||
title = {Release It!},
|
||||
author = {Michael T. Nygard}
|
||||
}
|
||||
@book{rework,
|
||||
title = {Rework},
|
||||
author = {David Heinemeier Hansson and Jason Fried},
|
||||
|
|
Loading…
Reference in New Issue