docker
This commit is contained in:
@@ -11,56 +11,70 @@
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Kapcsolati paraméterek}
|
||||
\begin{itemize}
|
||||
\item Host, port, adatbázis név
|
||||
\item Felhasználónév, jelszó
|
||||
\item SSL/TLS beállítások
|
||||
\item Timeout és pool méretek
|
||||
\end{itemize}
|
||||
\begin{block}{Alapvető beállítások}
|
||||
\begin{itemize}
|
||||
\item \textbf{Host:} Szerver címe (localhost, IP, domain)
|
||||
\item \textbf{Port:} Adatbázis portja\\
|
||||
(PostgreSQL: 5432, MySQL: 3306, MongoDB: 27017)
|
||||
\item \textbf{Database:} Adatbázis neve
|
||||
\item \textbf{User/Password:} Hitelesítési adatok
|
||||
\item \textbf{SSL/TLS:} Titkosított kapcsolat (production kötelező!)
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{exampleblock}{Connection string példa}
|
||||
\texttt{postgres://user:pass@localhost:5432/appdb}
|
||||
\begin{frame}[fragile]{Connection String formátumok}
|
||||
\begin{exampleblock}{PostgreSQL}
|
||||
\begin{lstlisting}[language=bash]
|
||||
postgresql://user:password@localhost:5432/mydb?schema=public
|
||||
\end{lstlisting}
|
||||
\end{exampleblock}
|
||||
|
||||
\begin{exampleblock}{MySQL}
|
||||
\begin{lstlisting}[language=bash]
|
||||
mysql://user:password@localhost:3306/mydb
|
||||
\end{lstlisting}
|
||||
\end{exampleblock}
|
||||
|
||||
\begin{exampleblock}{MongoDB}
|
||||
\begin{lstlisting}[language=bash]
|
||||
mongodb://user:password@localhost:27017/mydb
|
||||
\end{lstlisting}
|
||||
\end{exampleblock}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Connection pooling}
|
||||
\begin{block}{Miért kell?}
|
||||
\begin{itemize}
|
||||
\item A kapcsolat fel- és leépítése drága
|
||||
\item Pool újrahasznosítja a kapcsolatokat
|
||||
\item Stabilabb teljesítmény csúcsterhelésen
|
||||
\end{itemize}
|
||||
\end{block}
|
||||
|
||||
\begin{alertblock}{Beállítási irányelv}
|
||||
Túl kicsi pool lassít, túl nagy pool túlterheli a szervert.
|
||||
\end{alertblock}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]{Konfiguráció alkalmazásban}
|
||||
\begin{block}{Környezeti változók}
|
||||
\begin{block}{Környezeti változók (.env fájl)}
|
||||
\begin{lstlisting}[language=bash]
|
||||
DATABASE_URL="postgres://user:pass@localhost:5432/appdb"
|
||||
# Alapvető kapcsolat
|
||||
DATABASE_URL="postgresql://user:pass@localhost:5432/appdb"
|
||||
\end{lstlisting}
|
||||
\end{block}
|
||||
|
||||
\begin{block}{Függőség kezelés}
|
||||
A kapcsolat beállításait ne kódold a forráskódba, használj env fájlt.
|
||||
\begin{alertblock}{SOHA ne commitold a .env fájlt!}
|
||||
Használj .env.example sablont, a valódi értékeket .gitignore-ba!
|
||||
\end{alertblock}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}[fragile]{Prisma specifikus konfiguráció}
|
||||
\begin{block}{schema.prisma fájl}
|
||||
\begin{lstlisting}[language=JavaScript]
|
||||
datasource db {
|
||||
provider = "postgresql"
|
||||
url = env("DATABASE_URL")
|
||||
}
|
||||
|
||||
generator client {
|
||||
provider = "prisma-client-js"
|
||||
}
|
||||
\end{lstlisting}
|
||||
\end{block}
|
||||
|
||||
\begin{block}{Connection URL extended példa}
|
||||
\begin{lstlisting}[language=bash]
|
||||
DATABASE_URL="postgresql://user:pass@localhost:5432/mydb?schema=public\
|
||||
&connection_limit=10&pool_timeout=20"
|
||||
\end{lstlisting}
|
||||
\end{block}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Prisma megjegyzés}
|
||||
\begin{itemize}
|
||||
\item Prisma-val a kapcsolat a \texttt{DATABASE\_URL}-on keresztül jön létre
|
||||
\item A koncepció ugyanaz, csak a keretrendszer kezeli a részleteket
|
||||
\item Ebben a részben nem feltétel a Prisma használata
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
\begin{frame}{Hibakezelés és stabilitás}
|
||||
\begin{itemize}
|
||||
\item Használj újracsatlakozást ideiglenes hibákra
|
||||
\item Naplózd a kapcsolat hibákat, de ne írj ki jelszavakat
|
||||
\item Tranzakcióknál kezeld a visszagörgetést
|
||||
\end{itemize}
|
||||
\end{frame}
|
||||
|
||||
Reference in New Issue
Block a user