แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒแƒœแƒ“แƒ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ Patroni-แƒ–แƒ”

แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒแƒœแƒ“แƒ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ Patroni-แƒ–แƒ”

แƒ“แƒฆแƒ”แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒแƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ’แƒแƒœ, แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ“แƒ˜แƒ“ แƒซแƒ•แƒ˜แƒ แƒแƒ“แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒจแƒ˜. แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ’แƒ•แƒฎแƒ•แƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒ”แƒšแƒ˜ แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ— โ€žแƒ‘แƒแƒ“แƒ˜แƒจแƒ˜, แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ”แƒแƒ‘แƒกโ€œ, แƒ›แƒแƒ’แƒ แƒแƒ›, แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ“แƒแƒ›แƒแƒ›แƒจแƒ•แƒ˜แƒ“แƒ”แƒ‘แƒ”แƒš แƒฆแƒ˜แƒ›แƒ˜แƒšแƒก. แƒแƒ›แƒแƒก แƒ“แƒแƒ•แƒฃแƒ›แƒแƒขแƒแƒ— แƒกแƒ˜แƒชแƒแƒชแƒฎแƒšแƒ” แƒฆแƒ แƒฃแƒ‘แƒšแƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒชแƒ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒ’แƒแƒกแƒแƒจแƒ•แƒ”แƒ‘แƒแƒ“ แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒ–แƒแƒ แƒ˜ API-แƒ–แƒ” แƒ“แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ "แƒ แƒ™แƒ˜แƒœแƒ˜แƒก" แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒแƒ–แƒ” แƒคแƒ˜แƒฅแƒ แƒ˜. แƒ“แƒ แƒแƒฆแƒแƒ  แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒšแƒ”แƒ‘แƒ, แƒ—แƒฃ แƒ แƒแƒขแƒแƒ› แƒแƒ  แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒ แƒ™แƒ แƒ˜แƒขแƒ˜แƒ™แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒแƒ“ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒญแƒแƒ แƒ‘แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ—.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ”แƒขแƒงแƒ•แƒ˜แƒ—, แƒ แƒ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒจแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒœแƒ“แƒแƒแƒ‘แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒกแƒแƒงแƒแƒคแƒแƒ“ แƒ“แƒ แƒ แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ—. แƒžแƒšแƒฃแƒก แƒ“แƒ”แƒ›แƒ แƒจแƒแƒ แƒกแƒ›แƒ˜แƒ›แƒแƒ•แƒแƒšแƒ˜ แƒ“แƒแƒกแƒ™แƒ•แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒ›แƒ”แƒ›แƒ™แƒ•แƒ˜แƒ“แƒ แƒ”แƒแƒ‘แƒ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒแƒจแƒ˜

แƒ”แƒก แƒ™แƒ˜แƒ“แƒ”แƒ• แƒฃแƒคแƒ แƒ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒฉแƒแƒœแƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ”แƒฅแƒกแƒขแƒจแƒ˜. แƒ›แƒแƒ—แƒฎแƒแƒ•แƒœแƒ˜แƒก แƒ’แƒแƒ–แƒ แƒ“แƒ˜แƒกแƒแƒก แƒ›แƒแƒซแƒ•แƒ”แƒšแƒ”แƒ‘แƒฃแƒš แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒก แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ”แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒœแƒ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ”แƒ‘แƒ˜. แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒฎแƒแƒ แƒ˜แƒกแƒฎแƒ˜ แƒ˜แƒชแƒ•แƒšแƒ”แƒ‘แƒแƒ“แƒ. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ—แƒแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒแƒฆแƒแƒš แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒแƒก แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ›แƒแƒ—แƒ˜ แƒแƒ แƒฅแƒ˜แƒขแƒ”แƒฅแƒขแƒฃแƒ แƒ˜แƒก แƒ‘แƒ˜แƒ แƒ—แƒ•แƒก. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, MongoDB แƒžแƒแƒ–แƒ˜แƒชแƒ˜แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ˜แƒก แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก. แƒ™แƒแƒกแƒ”แƒขแƒฃแƒ แƒ˜ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒฎแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒช แƒแƒ› DBMS-แƒ˜แƒก แƒซแƒšแƒ˜แƒ”แƒ แƒ˜ แƒ™แƒแƒœแƒ™แƒฃแƒ แƒ”แƒœแƒขแƒฃแƒšแƒ˜ แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒแƒ.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒฃแƒ‘แƒ แƒฃแƒœแƒ“แƒ”แƒ— PostgreSQL-แƒก. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒฃแƒซแƒ•แƒ”แƒšแƒ”แƒกแƒ˜ แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒ›แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ›แƒแƒฎแƒ“แƒ แƒ’แƒแƒกแƒฃแƒšแƒ˜ แƒกแƒแƒฃแƒ™แƒฃแƒœแƒ˜แƒก 95-แƒ” แƒฌแƒ”แƒšแƒก. แƒžแƒ แƒแƒ”แƒฅแƒขแƒ˜แƒก แƒ’แƒฃแƒœแƒ“แƒ˜ แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒœแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜ แƒแƒ  แƒ—แƒ•แƒšแƒ˜แƒ“แƒ แƒ›แƒแƒฆแƒแƒš แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒแƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ’แƒแƒ“แƒแƒกแƒแƒญแƒ แƒ”แƒš แƒแƒ›แƒแƒชแƒแƒœแƒแƒ“. แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒขแƒ”แƒฅแƒœแƒแƒšแƒแƒ’แƒ˜แƒ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒฎแƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ 8.2 แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒจแƒ˜ 2006 แƒฌแƒ”แƒšแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒ˜แƒงแƒ แƒคแƒแƒ˜แƒšแƒ˜ (log shipping). 2010 แƒฌแƒ”แƒšแƒก แƒกแƒขแƒ แƒ˜แƒ›แƒ˜แƒœแƒ’แƒ˜แƒก แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ 9.0 แƒ•แƒ”แƒ แƒกแƒ˜แƒแƒจแƒ˜ แƒ“แƒ แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ แƒแƒ•แƒแƒšแƒคแƒ”แƒ แƒแƒ•แƒแƒœแƒ˜ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ˜. แƒ”แƒก, แƒคแƒแƒฅแƒขแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“, แƒซแƒแƒšแƒ˜แƒแƒœ แƒ’แƒแƒกแƒแƒ™แƒ•แƒ˜แƒ แƒ˜แƒ แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก, แƒ•แƒ˜แƒœแƒช PostgreSQL-แƒก แƒ”แƒชแƒœแƒแƒ‘แƒ Enterprise SQL-แƒ˜แƒก แƒแƒœ แƒ—แƒแƒœแƒแƒ›แƒ”แƒ“แƒ แƒแƒ•แƒ” NoSQL-แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ - แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ แƒแƒ แƒ˜แƒก แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒกแƒแƒ›แƒแƒ’แƒ˜แƒกแƒขแƒ แƒ-แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒฌแƒงแƒ•แƒ˜แƒšแƒ˜ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒแƒœ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒ—. แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒ“แƒ แƒ”แƒœแƒแƒŸแƒจแƒ˜ แƒแƒกแƒขแƒแƒขแƒ˜แƒก แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ แƒฎแƒ“แƒ”แƒ‘แƒ แƒฎแƒ”แƒšแƒ˜แƒ—, แƒแƒกแƒ”แƒ•แƒ” แƒจแƒ”แƒ›แƒแƒ—แƒแƒ•แƒแƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ™แƒšแƒ˜แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ˜แƒก แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒšแƒแƒ“ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ.

แƒ แƒแƒ’แƒแƒ  แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒ’แƒแƒ’แƒ•แƒ”แƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒœแƒ แƒกแƒแƒœแƒ“แƒ PostgreSQL แƒ“แƒ แƒ แƒ แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก

แƒ—แƒฃแƒ›แƒชแƒ, PostgreSQL แƒแƒ  แƒ’แƒแƒฎแƒ“แƒ”แƒ‘แƒแƒ“แƒ แƒแƒกแƒ”แƒ—แƒ˜ แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜, แƒ แƒแƒ› แƒแƒ แƒ แƒ“แƒ˜แƒ“แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒ— แƒžแƒ แƒแƒ”แƒฅแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฎแƒ”แƒšแƒก แƒฃแƒฌแƒงแƒแƒ‘แƒ”แƒœ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒกแƒแƒ“แƒ›แƒ˜ แƒขแƒแƒšแƒ”แƒ แƒแƒœแƒขแƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒก แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ• แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒแƒก. แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ Mail.ru Cloud Solutions (MCS) DBaaS-แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒฆแƒ˜แƒ“แƒแƒœ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒ”แƒ แƒ—แƒฏแƒ”แƒ แƒแƒ“แƒ˜ PostgreSQL แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒกแƒขแƒ”แƒ -แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒฌแƒงแƒ•แƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒ—.

แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜แƒ, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ˜แƒœแƒ“แƒแƒ“แƒ แƒ’แƒแƒ’แƒ•แƒ”แƒแƒ“แƒ•แƒ˜แƒšแƒ”แƒ‘แƒ˜แƒœแƒ แƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒแƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒ’แƒแƒ’แƒ•แƒ”แƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒœแƒ PostgreSQL แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒฎแƒ“แƒ”แƒก แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒกแƒแƒช แƒแƒ  แƒ›แƒแƒฃแƒฌแƒ”แƒ•แƒ— แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒ˜ แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜ แƒ“แƒ แƒฆแƒแƒ›แƒ˜แƒ— แƒ’แƒแƒฆแƒ•แƒ˜แƒซแƒ”แƒ‘แƒ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒ› แƒกแƒ”แƒ’แƒ›แƒ”แƒœแƒขแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ แƒแƒ’แƒแƒ แƒช แƒซแƒ•แƒ”แƒšแƒ˜ แƒ“แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒแƒกแƒ”แƒ•แƒ” แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒฃแƒœแƒแƒšแƒฃแƒ แƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒแƒ‘แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒฃแƒแƒฎแƒšแƒ”แƒก แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒก.

แƒ“แƒฆแƒ”แƒก, แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒแƒ‘แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ”แƒ›แƒงแƒแƒ แƒ”แƒ‘แƒ แƒแƒ แƒ แƒ“แƒแƒ—แƒฅแƒ›แƒแƒก (แƒ”แƒก แƒชแƒฎแƒแƒ“แƒ˜แƒ), แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ™แƒแƒœแƒกแƒ”แƒœแƒกแƒฃแƒกแƒ–แƒ” - แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ–แƒ” (แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒœแƒ”แƒ‘แƒ˜). แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒฎแƒจแƒ˜แƒ แƒแƒ“, แƒ“แƒ˜แƒ“แƒ˜ แƒแƒ•แƒแƒ แƒ˜แƒ”แƒ‘แƒ˜ แƒฎแƒ“แƒ”แƒ‘แƒ แƒแƒ แƒ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒ™แƒแƒœแƒกแƒ”แƒœแƒกแƒฃแƒกแƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ: แƒแƒฎแƒแƒšแƒ˜ แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ“แƒ, แƒแƒ แƒ˜ แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒชแƒ”แƒœแƒขแƒ แƒจแƒ˜ แƒ“แƒ แƒ.แƒจ. แƒแƒ›แƒ˜แƒก แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ˜แƒ Github MySQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ–แƒ” แƒแƒ•แƒแƒ แƒ˜แƒ โ€“ แƒฌแƒ”แƒ แƒ“แƒœแƒ”แƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒกแƒ˜แƒขแƒงแƒ•แƒ˜แƒ”แƒ แƒ˜ แƒžแƒแƒกแƒขแƒ›แƒแƒ™แƒ•แƒ“แƒ.

แƒ›แƒแƒ—แƒ”แƒ›แƒแƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ˜ แƒแƒ› แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒจแƒ˜ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒ”แƒ แƒ˜แƒแƒ–แƒฃแƒšแƒ˜แƒ. แƒ”แƒ แƒ—แƒ˜ แƒ›แƒฎแƒ แƒ˜แƒ•, แƒ˜แƒฅ CAP แƒ—แƒ”แƒแƒ แƒ”แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฌแƒ”แƒกแƒ”แƒ‘แƒก แƒ—แƒ”แƒแƒ แƒ˜แƒฃแƒš แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ•แƒ”แƒ‘แƒก HA แƒแƒ›แƒแƒœแƒแƒฎแƒกแƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒ’แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ–แƒ”, แƒ›แƒ”แƒแƒ แƒ”แƒก แƒ›แƒฎแƒ แƒ˜แƒ•, แƒ›แƒแƒ—แƒ”แƒ›แƒแƒขแƒ˜แƒ™แƒฃแƒ แƒแƒ“ แƒ“แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒฃแƒš แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ”แƒ‘แƒก แƒ™แƒแƒœแƒกแƒ”แƒœแƒกแƒฃแƒกแƒ˜แƒก แƒ“แƒแƒกแƒแƒ“แƒ’แƒ”แƒœแƒแƒ“, แƒ›แƒแƒ’. แƒžแƒแƒฅแƒกแƒ˜ ะธ แƒ แƒแƒคแƒขแƒ˜แƒœแƒ’แƒ˜. แƒแƒ›แƒ˜แƒก แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ–แƒ” แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒžแƒแƒžแƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜แƒ DCS (แƒ“แƒ”แƒชแƒ”แƒœแƒขแƒ แƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒกแƒ”แƒœแƒกแƒฃแƒกแƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜) - Zookeeper, etcd, Consul. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ—แƒฃ แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒแƒฌแƒ”แƒ แƒ˜แƒš แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒแƒšแƒ’แƒแƒ แƒ˜แƒ—แƒ›แƒ–แƒ”, แƒซแƒแƒšแƒ˜แƒแƒœ แƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒ—. แƒฃแƒ–แƒแƒ แƒ›แƒแƒ–แƒแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— Patroni, แƒฆแƒ˜แƒ แƒ™แƒแƒ“แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒแƒ“ Zalando-แƒก แƒ›แƒ˜แƒ”แƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜.

แƒšแƒ˜แƒ แƒ˜แƒ™แƒฃแƒš แƒ“แƒ˜แƒ’แƒ แƒ”แƒกแƒ˜แƒแƒ“ แƒ•แƒ˜แƒขแƒงแƒ•แƒ˜, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒแƒกแƒ”แƒ•แƒ” แƒ’แƒแƒœแƒ•แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒ›แƒฃแƒšแƒขแƒ˜แƒ›แƒแƒกแƒขแƒ”แƒ  แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒแƒœแƒฃ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ˜แƒงแƒแƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฉแƒแƒกแƒแƒฌแƒ”แƒ แƒแƒ“. แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ แƒ˜ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ’แƒแƒ“แƒแƒ•แƒฌแƒงแƒ•แƒ˜แƒขแƒ”แƒ— แƒแƒ  แƒ’แƒแƒ’แƒ•แƒ”แƒ™แƒ”แƒ—แƒ”แƒ‘แƒ˜แƒœแƒ แƒแƒกแƒ”แƒ—แƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜. แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒแƒกแƒ”แƒ— แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒก แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ” แƒ“แƒ, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ›แƒ”แƒขแƒ˜ แƒ“แƒแƒฃแƒชแƒ•แƒ”แƒšแƒแƒ‘แƒ. แƒ แƒ—แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒขแƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒšแƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ. แƒ›แƒ”แƒแƒ แƒ”แƒช, แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, PostgreSQL แƒฌแƒงแƒ•แƒ”แƒขแƒก แƒกแƒฃแƒคแƒ—แƒ (แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒฃแƒ แƒ˜), แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ—แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ›แƒ˜แƒฃแƒฌแƒ•แƒ“แƒแƒ›แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ, แƒ–แƒแƒ’แƒ˜แƒ”แƒ แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒฐแƒฅแƒแƒœแƒ“แƒ”แƒก แƒคแƒแƒ แƒฃแƒšแƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒแƒก.

แƒžแƒแƒขแƒ แƒแƒœแƒ˜

แƒ แƒแƒ’แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒžแƒแƒขแƒ แƒแƒœแƒ˜? แƒ“แƒ”แƒ•แƒ”แƒšแƒแƒžแƒ”แƒ แƒ”แƒ‘แƒ›แƒ แƒแƒ  แƒ’แƒแƒ›แƒแƒ˜แƒ’แƒแƒœแƒ”แƒก แƒ‘แƒแƒ แƒ‘แƒแƒšแƒ˜ แƒ“แƒ แƒจแƒ”แƒกแƒ—แƒแƒ•แƒแƒ–แƒ”แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ แƒ“แƒแƒ“แƒแƒกแƒขแƒฃแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ DCS แƒ’แƒแƒ“แƒแƒฌแƒงแƒ•แƒ”แƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ˜. แƒ›แƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒแƒ–แƒ”แƒ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก, แƒšแƒ˜แƒ“แƒ”แƒ แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒ™แƒ•แƒแƒ แƒฃแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. แƒฉแƒ•แƒ”แƒœ แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ•แƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— etcd.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜, Patroni แƒ”แƒฎแƒ”แƒ‘แƒ PostgreSQL-แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ˜แƒก แƒ“แƒ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒฌแƒแƒ  แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒแƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก (แƒแƒœแƒฃ แƒ›แƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒš แƒ“แƒ แƒแƒ แƒแƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ). แƒ™แƒ”แƒ แƒซแƒแƒ“, MCS แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒแƒกแƒขแƒแƒขแƒ˜แƒกแƒ’แƒแƒœ, แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒ“แƒแƒœ แƒ“แƒ แƒ”แƒ แƒ—แƒ˜ แƒแƒœ แƒ›แƒ”แƒขแƒ˜ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ˜แƒกแƒ’แƒแƒœ. แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒแƒกแƒšแƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒแƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› 2 แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ–แƒ” แƒ“แƒ แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒ”แƒก แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ โ€žแƒ›แƒแƒกแƒขแƒ”แƒ  แƒ™แƒแƒœแƒ“แƒ˜แƒ“แƒแƒขแƒ˜โ€œ.

แƒ•แƒ˜แƒœแƒแƒ˜แƒ“แƒแƒœ etcd แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒ›แƒแƒ•แƒ” แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ–แƒ”, แƒแƒžแƒขแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ™แƒ•แƒแƒ แƒฃแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ แƒ”แƒ™แƒแƒ›แƒ”แƒœแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ 3 แƒแƒœ 5 แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜. แƒแƒกแƒ”แƒ—แƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ”แƒ‘แƒก (แƒ–แƒ”แƒ›แƒแƒ— แƒ“แƒแƒ•แƒฌแƒ”แƒ แƒ” แƒกแƒ™แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒฌแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก). แƒ—แƒฃแƒ›แƒชแƒ, แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ—, แƒ แƒแƒ› แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒšแƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒฉแƒแƒ›แƒแƒ แƒฉแƒ”แƒ‘แƒ, แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒ›แƒซแƒ˜แƒ›แƒ” แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒก.

แƒแƒกแƒ”แƒ—แƒ˜ แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒฌแƒแƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒแƒ“ (แƒชแƒฎแƒ”แƒšแƒ˜ แƒšแƒแƒ“แƒ˜แƒœแƒ˜) แƒ’แƒแƒ›แƒแƒ แƒ—แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒ แƒแƒœ แƒแƒœแƒแƒšแƒ˜แƒขแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒ’แƒแƒœแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒก แƒ›แƒ—แƒแƒ•แƒแƒ  แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒก.

แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ— แƒ—แƒแƒ•แƒแƒ“ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— แƒแƒกแƒ”แƒ—แƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ—:

  • แƒ›แƒแƒแƒ›แƒ–แƒแƒ“แƒ”แƒ— 3 แƒแƒœ แƒ›แƒ”แƒขแƒ˜ แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜, แƒ“แƒแƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒแƒ— IP แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒคแƒแƒ˜แƒ แƒ•แƒแƒš-แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก;
  • แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ etcd, Patroni, PostgreSQL แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก;
  • etcd แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ;
  • แƒžแƒแƒขแƒ แƒแƒœแƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ PostgreSQL-แƒ—แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒแƒœแƒฃ, แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ‘แƒแƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒกแƒฌแƒแƒ แƒแƒ“ แƒจแƒ”แƒแƒ“แƒ’แƒ˜แƒœแƒแƒ— แƒแƒ—แƒ”แƒฃแƒšแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒ˜ แƒ“แƒ แƒแƒ แƒกแƒแƒ“ แƒแƒ  แƒ“แƒแƒฃแƒจแƒ•แƒแƒ— แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“ แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ Ansible, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“. แƒ—แƒฃแƒ›แƒชแƒ, แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒ  แƒแƒ แƒ˜แƒก แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ TCP แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜. แƒ›แƒ˜แƒกแƒ˜ แƒ“แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ แƒชแƒแƒšแƒ™แƒ” แƒกแƒแƒฅแƒ›แƒ”แƒ.

แƒ•แƒ˜แƒกแƒแƒช แƒ›แƒ–แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ  แƒกแƒฃแƒ แƒก แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒจแƒ˜ แƒฉแƒฎแƒฃแƒ‘แƒ˜, แƒจแƒ”แƒ•แƒ”แƒชแƒแƒ“แƒ”แƒ— แƒ’แƒแƒ’แƒ•แƒ”แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ— แƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒฉแƒ•แƒ”แƒœแƒก แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ›แƒ–แƒ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒžแƒแƒขแƒ แƒแƒœแƒ–แƒ”, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฃแƒคแƒแƒกแƒแƒ“ แƒ’แƒแƒ›แƒแƒกแƒชแƒแƒ“แƒแƒ—. แƒ’แƒแƒ แƒ“แƒ แƒ—แƒแƒ•แƒแƒ“ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒกแƒ, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ—:

  • TCP แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜; แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ–แƒ” แƒ˜แƒก แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ›แƒ—แƒแƒ•แƒแƒ แƒ–แƒ”, แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒš แƒแƒœ แƒแƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒฃแƒš แƒ แƒ”แƒžแƒšแƒ˜แƒ™แƒแƒ–แƒ”, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“;
  • API แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ Patroni master-แƒ˜แƒก แƒ’แƒแƒ“แƒแƒกแƒแƒ แƒ—แƒแƒ•แƒแƒ“.

แƒ›แƒแƒ—แƒ˜ แƒฅแƒ•แƒ”แƒ™แƒšแƒแƒกแƒ˜แƒ แƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ แƒแƒ’แƒแƒ แƒช MCS แƒฆแƒ แƒฃแƒ‘แƒšแƒแƒ•แƒแƒœแƒ˜ API-แƒ˜แƒก, แƒแƒกแƒ”แƒ•แƒ” แƒ•แƒ”แƒ‘ แƒ™แƒแƒœแƒกแƒแƒšแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—.

แƒ“แƒ”แƒ›แƒ

MCS แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“, แƒ•แƒœแƒแƒฎแƒแƒ—, แƒ แƒแƒ’แƒแƒ  แƒ˜แƒฅแƒชแƒ”แƒ•แƒ แƒชแƒแƒชแƒฎแƒแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ DBMS-แƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜.

แƒฅแƒ•แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜แƒ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ™แƒแƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฆแƒฌแƒ”แƒ แƒก แƒฎแƒ”แƒšแƒแƒ•แƒœแƒฃแƒ  แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒก แƒ“แƒ แƒแƒชแƒœแƒแƒ‘แƒ”แƒ‘แƒก แƒ›แƒแƒ— แƒ”แƒ™แƒ แƒแƒœแƒ–แƒ”. แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ˜แƒก แƒจแƒ”แƒแƒขแƒงแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒก แƒแƒ›แƒแƒก แƒ“แƒ แƒ’แƒแƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก แƒชแƒ˜แƒ™แƒšแƒฃแƒ แƒแƒ“, แƒกแƒแƒœแƒแƒ› แƒแƒ  แƒ’แƒแƒ•แƒแƒฉแƒ”แƒ แƒ”แƒ‘แƒ— Ctrl + C แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒ˜แƒ—.

from __future__ import print_function

from datetime import datetime
from random import randint
from time import sleep
import psycopg2


def main():
    try:
        connection = psycopg2.connect(user = "admin",
                                      password = "P@ssw0rd",
                                      host = "89.208.87.38",
                                      port = "5432",
                                      database = "myproddb")

        cursor = connection.cursor()
        cursor.execute("SELECT version();")
        record = cursor.fetchone()
        print("Connection opened to", record[0])

        cursor.execute(
            "INSERT INTO log VALUES ({});".format(randint(1, 10000)))
        connection.commit()
        cursor.execute("SELECT COUNT(event_id) from log;")
        record = cursor.fetchone()
        print("Logged a value, overall count: {}".format(record[0]))
    except Exception as error:
        print ("Error while connecting to PostgreSQL", error)
    finally:
        if connection:
            cursor.close()
            connection.close()
            print("Connection closed")


if __name__ == '__main__':
    try:
        while True:
            try:
                print(datetime.now())
                main()
                sleep(3)
            except Exception as e:
                print("Caught error:n", e)
                sleep(1)
    except KeyboardInterrupt:
        print("exit")

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ PostgreSQL แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ“. แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ MCS แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜ API-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—. แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒจแƒ˜, แƒกแƒแƒ“แƒแƒช OS_TOKEN แƒชแƒ•แƒšแƒแƒ“แƒ˜ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก API-แƒ–แƒ” แƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒก แƒœแƒ˜แƒจแƒแƒœแƒก (แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒ˜แƒ˜แƒฆแƒแƒ— openstack token issue แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—), แƒฉแƒ•แƒ”แƒœ แƒฉแƒแƒ•แƒฌแƒ”แƒ แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒก:

แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜:

cat <<EะžF > pgc10.json
{"cluster":{"name":"postgres10","allow_remote_access":true,"datastore":{"type":"postgresql","version":"10"},"databases":[{"name":"myproddb"}],"users":[{"databases":[{"name":"myproddb"}],"name":"admin","password":"P@ssw0rd"}],"instances":[{"key_name":"shared","availability_zone":"DP1","flavorRef":"d659fa16-c7fb-42cf-8a5e-9bcbe80a7538","nics":[{"net-id":"b91eafed-12b1-4a46-b000-3984c7e01599"}],"volume":{"size":50,"type":"DP1"}},{"key_name":"shared","availability_zone":"DP1","flavorRef":"d659fa16-c7fb-42cf-8a5e-9bcbe80a7538","nics":[{"net-id":"b91eafed-12b1-4a46-b000-3984c7e01599"}],"volume":{"size":50,"type":"DP1"}},{"key_name":"shared","availability_zone":"DP1","flavorRef":"d659fa16-c7fb-42cf-8a5e-9bcbe80a7538","nics":[{"net-id":"b91eafed-12b1-4a46-b000-3984c7e01599"}],"volume":{"size":50,"type":"DP1"}}]}}
EOF

curl -s -H "X-Auth-Token: $OS_TOKEN" 
-H 'Accept: application/json' 
-H 'Content-Type: application/json' 
-d @pgc10.json https://infra.mail.ru:8779/v1.0/ce2a41bbd1434013b85bdf0ba07c770f/clusters

แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒแƒœแƒ“แƒ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ Patroni-แƒ–แƒ”

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒก ACTIVE แƒกแƒขแƒแƒขแƒฃแƒกแƒ–แƒ”, แƒงแƒ•แƒ”แƒšแƒ แƒ•แƒ”แƒšแƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ”แƒ‘แƒก - แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒ›แƒ–แƒแƒ“ แƒแƒ แƒ˜แƒก.

GUI-แƒจแƒ˜:

แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒแƒœแƒ“แƒ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ Patroni-แƒ–แƒ”

แƒจแƒ”แƒ•แƒ”แƒชแƒแƒ“แƒแƒ— แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒชแƒฎแƒ แƒ˜แƒšแƒ˜:

psql -h 89.208.87.38 -U admin -d myproddb
Password for user admin:
psql (11.1, server 10.7)
Type "help" for help.

myproddb=> CREATE TABLE log (event_id integer NOT NULL);
CREATE TABLE
myproddb=> INSERT INTO log VALUES (1),(2),(3);
INSERT 0 3
myproddb=> SELECT * FROM log;
 event_id
----------
        1
        2
        3
(3 rows)

myproddb=>

แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒแƒœแƒ“แƒ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ Patroni-แƒ–แƒ”

แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ•แƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒ— แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒก PostgreSQL-แƒ—แƒแƒœ แƒ“แƒแƒกแƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“. แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒ–แƒฃแƒกแƒขแƒ”แƒ‘แƒ— TCP แƒ‘แƒแƒšแƒแƒœแƒกแƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒก, แƒ แƒ˜แƒ—แƒแƒช แƒแƒฆแƒ›แƒแƒ•แƒคแƒฎแƒ•แƒ แƒ˜แƒ— แƒ›แƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒ›แƒแƒ แƒ—แƒ–แƒ” แƒฎแƒ”แƒšแƒ˜แƒ— แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒแƒก. แƒ›แƒแƒ“แƒ˜แƒ— แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒแƒ— แƒ˜แƒ’แƒ˜. แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ›แƒแƒ•แƒšแƒ”แƒœแƒ”แƒ‘แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒแƒจแƒ˜.

แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒแƒœแƒ“แƒ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ Patroni-แƒ–แƒ”

แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ˜แƒšแƒ˜ แƒกแƒแƒ›แƒแƒ’แƒ˜แƒกแƒขแƒ แƒ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ

แƒแƒฎแƒšแƒ แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ แƒแƒกแƒขแƒแƒขแƒ˜แƒก แƒ“แƒแƒ’แƒ”แƒ’แƒ›แƒ˜แƒšแƒ˜ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒแƒก:

แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒแƒœแƒ“แƒ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ Patroni-แƒ–แƒ”

แƒฉแƒ•แƒ”แƒœ แƒ•แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒ— แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒก. แƒฉแƒ•แƒ”แƒœ แƒ•แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒ แƒแƒ› แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒฌแƒงแƒ“แƒ”แƒ‘แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ›แƒแƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฌแƒแƒ›แƒ˜ แƒกแƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ, แƒแƒ› แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒš แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒฃแƒ› 9.

แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒแƒœแƒ“แƒ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ Patroni-แƒ–แƒ”

แƒแƒ•แƒขแƒแƒกแƒแƒ’แƒ–แƒแƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ

แƒแƒฎแƒšแƒ แƒ•แƒชแƒแƒ“แƒแƒ— แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก, แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒแƒกแƒขแƒแƒขแƒ˜แƒก แƒ“แƒแƒชแƒ”แƒ›แƒ˜แƒก แƒกแƒ˜แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒ. แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฐแƒแƒ แƒ˜แƒ–แƒแƒœแƒขแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒคแƒ”แƒ˜แƒกแƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒก แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ แƒ”แƒ’แƒฃแƒšแƒแƒ แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ. แƒแƒกแƒ”แƒ— แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒแƒก แƒ“แƒแƒแƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒ›แƒแƒ— แƒจแƒแƒ แƒ˜แƒก แƒžแƒแƒขแƒ แƒแƒœแƒ˜.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒแƒ แƒแƒžแƒ แƒแƒ’แƒœแƒแƒ–แƒ˜แƒ แƒ”แƒ‘แƒแƒ“แƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ›แƒ” แƒ•แƒ—แƒฎแƒแƒ•แƒ” แƒฉแƒ•แƒ”แƒœแƒก แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒก แƒกแƒแƒขแƒ”แƒกแƒขแƒ แƒ›แƒ˜แƒ–แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒœ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ - แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ แƒ›แƒแƒกแƒขแƒ”แƒ แƒ˜ - แƒแƒ แƒแƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ’แƒ–แƒ˜แƒ—.

แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒแƒœแƒ“แƒ PostgreSQL แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ Patroni-แƒ–แƒ”

แƒžแƒแƒ แƒแƒšแƒ”แƒšแƒฃแƒ แƒแƒ“, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ แƒ’แƒแƒœแƒแƒ’แƒ แƒซแƒแƒ‘แƒ“แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก. แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜แƒ, แƒแƒกแƒขแƒแƒขแƒ˜แƒก แƒแƒกแƒ”แƒ—แƒ˜ แƒ’แƒแƒ“แƒแƒฃแƒ“แƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒฃแƒ›แƒฉแƒœแƒ”แƒ•แƒ”แƒšแƒ˜ แƒ“แƒแƒ แƒฉแƒ”แƒก.

2019-03-29 10:45:56.071234
Connection opened to PostgreSQL 10.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
Logged a value, overall count: 453
Connection closed
2019-03-29 10:45:59.205463
Connection opened to PostgreSQL 10.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
Logged a value, overall count: 454

Connection closed
2019-03-29 10:46:02.661440
Error while connecting to PostgreSQL server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.

Caught error:
 local variable 'connection' referenced before assignment
โ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆโ€ฆ.. - ะทะดะตััŒ ะบะฐะบะพะต-ั‚ะพ ะบะพะปะธั‡ะตัั‚ะฒะพ ะพัˆะธะฑะพะบ
2019-03-29 10:46:30.930445
Error while connecting to PostgreSQL server closed the connection unexpectedly
        This probably means the server terminated abnormally
        before or while processing the request.

Caught error:
 local variable 'connection' referenced before assignment
2019-03-29 10:46:31.954399
Connection opened to PostgreSQL 10.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
Logged a value, overall count: 455
Connection closed
2019-03-29 10:46:35.409800
Connection opened to PostgreSQL 10.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
Logged a value, overall count: 456
Connection closed
^Cexit

แƒ แƒแƒ’แƒแƒ แƒช แƒฎแƒ”แƒ“แƒแƒ•แƒ—, แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒแƒ› แƒจแƒ”แƒซแƒšแƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ 30 แƒฌแƒแƒ›แƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘ แƒ“แƒ แƒแƒจแƒ˜. แƒ“แƒ˜แƒแƒฎ, แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒ—แƒ แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒš แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒ“แƒ แƒ, แƒ แƒแƒ› แƒจแƒ”แƒแƒ›แƒฉแƒœแƒ˜แƒแƒœ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜. แƒ—แƒฃแƒ›แƒชแƒ, แƒ”แƒก แƒแƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒแƒ–แƒฃแƒšแƒ˜ แƒแƒ•แƒแƒ แƒ˜แƒ, แƒ”แƒก แƒแƒกแƒ” แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒแƒ  แƒฎแƒ“แƒ”แƒ‘แƒ. แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“, แƒแƒ“แƒแƒ›แƒ˜แƒแƒœแƒก (แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒก) แƒซแƒœแƒ”แƒšแƒแƒ“ แƒ”แƒฅแƒœแƒ”แƒ‘แƒแƒ“แƒ แƒ“แƒ แƒ แƒแƒกแƒ” แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ แƒ”แƒแƒ’แƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ—แƒฃ แƒ˜แƒ’แƒ˜ แƒ›แƒ–แƒแƒ“ แƒแƒ  แƒ˜แƒฏแƒ“แƒ แƒ™แƒแƒœแƒกแƒแƒšแƒจแƒ˜ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒ—.

แƒ’แƒแƒ›แƒแƒงแƒ•แƒแƒœแƒ˜แƒก

แƒ›แƒ”แƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ› แƒแƒกแƒ”แƒ—แƒ˜ แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜ แƒฃแƒ–แƒแƒ แƒ›แƒแƒ–แƒแƒ  แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก แƒแƒ“แƒ›แƒ˜แƒœแƒ˜แƒกแƒขแƒ แƒแƒขแƒแƒ แƒ”แƒ‘แƒก. แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒแƒ–แƒฃแƒšแƒ˜ แƒแƒ•แƒแƒ แƒ˜แƒ แƒ“แƒ แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒกแƒแƒ›แƒฉแƒœแƒ”แƒ•แƒ˜ แƒ’แƒแƒœแƒแƒชแƒฎแƒแƒ“แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ แƒแƒฆแƒแƒชแƒ˜แƒก แƒ“แƒแƒฉแƒฅแƒแƒ แƒ”แƒ‘แƒ แƒ“แƒ แƒ’แƒแƒ“แƒแƒ แƒ—แƒ•แƒ แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ— แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ”แƒ‘แƒ–แƒ”, แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ–แƒ” แƒ“แƒ แƒ.แƒจ. แƒ“แƒ แƒ—แƒฃ แƒแƒกแƒ”แƒ—แƒ˜ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ–แƒ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜ แƒฆแƒ แƒฃแƒ‘แƒ”แƒšแƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ“แƒ แƒแƒ˜แƒก แƒ“แƒแƒฎแƒแƒ แƒฏแƒ•แƒ แƒ›แƒ˜แƒก แƒ›แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒแƒ–แƒ”. แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒ— แƒ แƒแƒฆแƒแƒช แƒฃแƒคแƒ แƒ แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒจแƒ”แƒ˜แƒซแƒ˜แƒœแƒ”แƒ— แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒ แƒฐแƒแƒกแƒขแƒ˜แƒœแƒ’แƒ˜ DDoS แƒ“แƒแƒชแƒ•แƒ˜แƒก แƒ›แƒฅแƒแƒœแƒ” แƒกแƒแƒ˜แƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, VPS VDS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก ๐Ÿ”ฅ แƒจแƒ”แƒ˜แƒซแƒ˜แƒœแƒ”แƒ— แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒ แƒ•แƒ”แƒ‘แƒกแƒแƒ˜แƒขแƒ˜แƒก แƒฐแƒแƒกแƒขแƒ˜แƒœแƒ’แƒ˜ DDoS แƒ“แƒแƒชแƒ•แƒ˜แƒ—, VPS VDS แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜ | ProHoster