เบเบตเบเปเปเบเบธเบเบเบปเบ!
เบเปเบญเบเบเบทเป Nikita, เบเปเบญเบเปเบเบฑเบเบซเบปเบงเบซเบเปเบฒเบเบตเบกเบงเบดเบชเบฐเบงเบฐเบเปเบฒ Cian. เบซเบเบถเปเบเปเบเบเบงเบฒเบกเบฎเบฑเบเบเบดเบเบเบญเบเบเบญเบเบเปเบญเบเบขเบนเปเบเบตเปเบเปเบฅเบดเบชเบฑเบเปเบกเปเบเปเบเบทเปเบญเบซเบผเบธเบเบเปเบญเบเบเปเบฒเบเบงเบเปเบซเบเบเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเปเบเบเบฒเบเบเบฐเบฅเบดเบเปเบซเปเปเบเบฑเบเบชเบนเบ.
เบชเบดเปเบเบเบตเปเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบเบถเบเบชเบฒเบซเบฒเบฅเบทเบเปเบฒเบเบฅเบธเปเบกเบเบตเปเปเบฎเบฑเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเปเบเบฑเบเบเบงเบเบซเบผเบฒเบ, เปเบฅเบฐเบเบธเบเบเบฐเบชเบปเบเบเบญเบเบเบปเบเบเบงเบฒเบกเบเบตเปเปเบกเปเบเปเบเบทเปเบญเบเปเบญเบเบเบฑเบเบเปเปเปเบซเปเบเบปเบเบญเบทเปเบเปเบฎเบฑเบเบเปเปเบฒเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเบซเบผเบทเบขเปเบฒเบเบซเบเปเบญเบเบซเบผเบธเบเบเปเบญเบเบเบปเบเบเบฐเบเบปเบเบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒ.
Preamble
เบเบปเบเบเบฒเบเบกเบฒเปเบฅเปเบง, เปเบกเบทเปเบญ Cian เบเบฐเบเบญเบเบเปเบงเบ monoliths, เปเบฅเบฐเบเปเปเบกเบตเบเปเบฒเปเบเบฐเบเปเบฒเบเบญเบ microservices เปเบเบทเปเบญ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบงเบฑเบเปเบเบเบเบงเบฒเบกเบเปเบญเบกเบเบญเบเบเบฑเบเบเบฐเบเบฒเบเบญเบเปเบเบเบเบฒเบเบเบงเบเบชเบญเบ 3-5 เบซเบเปเบฒ.
เบเบงเบเปเบเบปเบฒเบเบญเบ - เบเบธเบเบขเปเบฒเบเบเบต, เบเปเบฒเบเบงเบเปเบเบปเบฒเบเปเปเบเบญเบเปเบเบฑเบเปเบงเบฅเบฒเบเบปเบเบเบฒเบ - เปเบเบทเบญเบ. เบเบงเบโเปเบเบปเบฒโเปเบเบปเปเบฒโเบเปเบญเบโเปเบเปโเบเบฑเบโเบงเบฝเบโเบกเบฒโเบเบปเบโเบเบฒเบโเปเบโเบเบถเปเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบเบดโเบเบฒโเบฅเบฐโเบเบฒโเบงเปเบฒโเปเบซเบโเบเบฒเบโเปเบเปโเบเบทเบโเบเบฑเบโเบชเบดเบโเปเบโเปเบเบโเบเบนเปโเบเบปเบโเปเบโเบเบญเบโเบเบฐโเบเบธเบก. เบเบตเบกเบเบฒเบเบงเบดเบชเบฐเบงเบฐเบเบญเบเปเบเปเบกเบตเบชเปเบงเบเบฎเปเบงเบกเบชเบฐเปเบซเบกเบตเปเบเบเบฒเบเบชเบทเบเบชเบงเบเปเบซเบเบเบฒเบ. เปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบชเบทเบเบชเบงเบเปเบเปเบเบทเบเบชเปเบฒเปเบฅเบฑเบ, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเปเบเบฝเบ postmortem - เบเบฐเปเบเบเบเบญเบเบเบปเบเบฅเบฒเบเบเบฒเบเบเบฒเบเบญเบตเปเบกเบฅเปเปเบเบฎเบนเบเปเบเบ: เบชเบดเปเบเบเบตเปเปเบเบตเบเบเบถเปเบ, เบกเบฑเบเปเบเปเปเบงเบฅเบฒเบเบปเบเบเบฒเบเปเบ, เบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบฎเบฑเบเปเบเบเบฑเบเบเบธเบเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเบฐเปเบฎเบฑเบเปเบเบงเปเบเปเบเบญเบฐเบเบฒเบเบปเบ.
เบซเบเปเบฒเบเบปเปเบเบเปเบเบญเบเปเบงเบฑเบเปเบเบเปเบซเบผเบทเบงเบดเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเบปเปเบฒเปเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบตเบเปเบฒเบเบฅเบธเปเบก
เปเบเบทเปเบญเปเบเบปเปเบฒเปเบเบเบงเบฒเบกเบชเปเบฒเบเบฑเบเบเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเบเบปเบเบซเบเปเบฒเปเบงเบฑเบเปเบเบเปเบเบตเปเบชเปเบฒเบเบฑเบเบเบตเปเบชเบธเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฒเบเบฒเบเบเบญเบเบเบธเบฅเบฐเบเบดเบ. เบเบฒเบเบเปเบฒเปเบเปเบเบงเบเบกเบฑเบ, เบเบงเบเปเบฎเบปเบฒเบเบฑเบเบเปเบฒเบเบงเบเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบเบฐเบชเบปเบเบเบปเบเบชเปเบฒเปเบฅเบฑเบ / เบเปเปเบชเปเบฒเปเบฅเบฑเบเปเบฅเบฐเบเบฒเบเบซเบกเบปเบเปเบงเบฅเบฒ. เบเบตเปเปเบกเปเบเบงเบดเบเบตเบเบตเปเบเบงเบเปเบฎเบปเบฒเบงเบฑเบเปเบเบเปเบงเบฅเบฒเปเบฎเบฑเบเบงเบฝเบ.
เบชเบปเบกเบกเบธเบเบงเปเบฒเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบปเบเปเบซเบฑเบเบงเปเบฒเบกเบตเบซเบผเบฒเบเปเบเบฒเบเบชเปเบงเบเบเบตเปเบชเปเบฒเบเบฑเบเบเบญเบเปเบงเบฑเบเปเบเบเปเบเบตเปเบฎเบฑเบเบเบดเบเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบปเปเบเบเป - เบเบฒเบเบเบญเบเบซเบฒเปเบฅเบฐเบเบฒเบเบชเบปเปเบเปเบเบชเบฐเบเบฒ. เบเปเบฒเบเปเบฒเบเบงเบเบเปเบฒเบฎเปเบญเบเบเปเบเบตเปเบฅเบปเปเบกเปเบซเบฅเบงเปเบเบตเบ 1%, เบเบตเปเปเบกเปเบเปเบซเบเบเบฒเบเบชเปเบฒเบเบฑเบ. เบเปเบฒเบเบฒเบเปเบ 15 เบเบฒเบเบตเปเบเบเปเบงเบเปเบงเบฅเบฒเบชเปเบฒเบเบฑเบเบญเบฑเบเบเบฒเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเบตเบ 0,1%, เบเบตเปเบเปเปเบเบทเบงเปเบฒเปเบเบฑเบเปเบซเบเบเบฒเบเบชเปเบฒเบเบฑเบ. เปเบเบทเปเบญเบเปเบเปเบซเบผเบปเปเบฒเบเบตเปเบเบงเบกเปเบญเบปเบฒเบชเปเบงเบเปเบซเบเปเบเบญเบเปเบซเบเบเบฒเบ; เบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเปเบกเปเบเปเบเบตเบเบเบญเบเปเบเบเบเบญเบเบเบปเบเบเบงเบฒเบกเบเบตเป.
เปเบซเบเบเบฒเบเบเบตเปเบเบตเบเบตเปเบชเบธเบเปเบ Cyan
เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฝเบเบฎเบนเปเบขเปเบฒเบเปเบเปเบเบญเบเปเบเบทเปเบญเบเปเบฒเบเบปเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเปเบซเบเบเบฒเบเปเบเบตเบเบเบถเปเบ.
เปเบเบเบฑเบเบเบธเบเบฑเบเบเบธเบเปเปเบซเบเบเบฒเบเปเบเปเบเบทเบเบญเบฐเบเบดเบเบฒเบเบขเปเบฒเบเบฅเบฐเบญเบฝเบเปเบฅเบฐเบชเบฐเบเปเบญเบเปเบซเปเปเบซเบฑเบเปเบ epic Jira. เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ: เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเปเบเปเปเบฅเบตเปเบกเบเบปเปเบเปเบเบเบเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบ, เปเบญเบตเปเบเบงเปเบฒเบกเบฑเบ FAIL - เบเบฝเบเปเบเป epics เบชเบฒเบกเบฒเบเบชเปเบฒเบเบขเบนเปเปเบเบกเบฑเบ.
เบเปเบฒเบเปเบฒเบเบฅเบงเบเบฅเบงเบกเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบงเบเบฑเบเบซเบกเบปเบเปเบเปเบฅเบเบฐเบชเบญเบเบชเบฒเบกเบเบตเบเปเบฒเบเบกเบฒ, เบเบนเปเบเปเบฒเปเบกเปเบ:
- mssql เปเบซเบเบเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบ;
- เปเบซเบเบเบฒเบเบเบตเปเปเบเบตเบเบเบฒเบเบเบฑเบเปเบเบเบฒเบเบเบญเบ;
- เบเบดเบเบเบฒเบ admin.
เปเบซเปเปเบเบดเปเบเบฅเบฒเบเบฅเบฐเบญเบฝเบเปเบเบตเปเบกเปเบเบตเบกเบเปเบฝเบงเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบญเบเบเบนเปเบเปเบฅเบดเบซเบฒเบ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบงเบเบตเปเบซเบเปเบฒเบชเบปเบเปเบเบญเบทเปเบเป.
เบญเบฑเบเบเบฑเบเบเบตเบซเปเบฒ - "เบเบฒเบเบเบฑเบเบงเบฒเบเบชเบดเปเบเบเบตเปเปเบเบฑเบเบฅเบฐเบเบฝเบเปเบ DNS"
เบกเบฑเบเปเบเบฑเบเบเบฒเบเบธเปเบเบงเบฑเบเบญเบฑเบเบเบฒเบ. เบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบเบทเปเบเบเบนเบเปเบฒเบชเบฑเปเบเปเบเบเบธเปเบก DNS.
เบเปเบญเบเบเปเบญเบเบเบฒเบเปเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ DNS เบเบฒเบเปเบเบเบฒเบเบเบนเบเบเบฑเบ powerdns, เบเบฑเบเบชเบฑเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบเบเบเปเบฒเบเบซเบฒเบเบขเปเบฒเบเบชเบปเบกเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเป, เบเปเบญเบเบเบตเปเบเปเปเบกเบตเบซเบเบฑเบเบเบปเบเปเบงเบฑเปเบ DNS.
เบเบงเบเปเบฎเบปเบฒเปเบเปเบงเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ DNS เบซเบเบถเปเบเปเบเปเบเปเบฅเบฐเบชเบฐเบเบฒเบเบเบตเปเบเบญเบ DCs เบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบฅเบฐเบเบฑเบเบเบธเบเบฑเบเปเบเปเบกเบฒเปเบเบทเปเบญเบเปเบฒเบเปเบเบเบเบฒเบ bind เปเบเบซเบฒ powerdns เปเบฅเบฐเบเปเบฝเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบเปเบเบชเบนเปเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเปเบซเบกเป.
เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบเบทเปเบญเบเปเบซเบง, เบเบญเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฑเบเบซเบกเบปเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบเบฒเบเบเบงเบฒเบกเบเปเบฒเบเปเบญเบเบเบดเปเบเบเบนเบเบกเบฑเบเบขเบนเปเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบฑเบเบซเบกเบปเบ, เบกเบตเบเบฝเบเปเบเปเบซเบเบถเปเบเบเบตเปเบเบฑเบเบเบปเบเบขเบนเป, เปเบเบดเปเบเบขเบนเปเปเบเบชเบนเบเบเปเปเบกเบนเบเปเบ St. DC เบเบตเปเปเบเปเบเบทเบเบเบฐเบเบฒเบเปเบเปเบเบทเปเบญเบเบเบปเปเบเบงเปเบฒเบเปเปเบชเปเบฒเบเบฑเบเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบฎเบปเบฒ, เปเบเปเบเบฑเบเบเบตเบเบฑเบเปเบเปเบเปเบเบฒเบเปเบเบฑเบเบเบธเบเบเบฝเบงเบเบญเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบผเบง.
เบกเบฑเบเปเบกเปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเปเบฅเบเบฐเปเบงเบฅเบฒเบเบญเบเบเบฒเบเบเบปเบเบเปเบฒเบเบเบตเปเบเบตเปเบเบญเบเบฅเบฐเบซเบงเปเบฒเบ Moscow เปเบฅเบฐ St. เบเบปเบงเบเบดเบเปเบฅเปเบงเบเบงเบเปเบฎเบปเบฒเบเบทเบเบเบฐเปเบงเปเปเบเบเบเปเปเบกเบต DNS เบชเปเบฒเบฅเบฑเบเบซเปเบฒเบเบฒเบเบตเปเบฅเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบทเบเปเบเบเปเบญเบเปเบเปเบงเบฅเบฒเบเบตเปเปเบเบปเปเบฒเบเบฒเบเปเบเปเปเบเบเบฑเบเบซเบฒ.
เบเปเปเบชเบฐเบซเบผเบธเบ:
เบเปเบฒเบเปเบญเบเบซเบเปเบฒเบเบตเปเบเบงเบเปเบฎเบปเบฒเบฅเบฐเปเบฅเบตเบเบเบฑเบเปเบเบเบฒเบเบเบญเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบฝเบกเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบ, เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบเบปเบฒเบเบฑเบเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบชเบดเปเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฝเบก. เปเบฅเบฐเปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบเบฒเบเบฒเบกเปเบซเปเปเบเปเปเบเบงเปเบฒเบญเบปเบเบเบฐเบเบญเบเบเบฑเบเบซเบกเบปเบเบเบทเบเบชเบฐเบซเบเบงเบ n-2, เปเบฅเบฐเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบงเบเปเบฎเบปเบฒเบชเบฒเบกเบฒเบเบซเบผเบธเบเบฅเบปเบเบฅเบฐเบเบฑเบเบเบตเปเปเบเบซเบฒ n-1.
- เปเบกเบทเปเบญเบชเปเบฒเบเปเบเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ, เปเบซเปเบซเบกเบฒเบเบเบธเบเบเบตเปเบเบฒเบเบเปเบฅเบดเบเบฒเบเบญเบฒเบเบเบฐเบฅเบปเปเบกเปเบซเบฅเบง, เปเบฅเบฐเบเบดเบเบเปเบฒเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบเป "เบเบฒเบเบเปเปเบเบตเปเบเบซเบฒเบฎเปเบฒเบเปเบฎเบเบเบงเปเบฒเปเบเบปเปเบฒ" เบฅเปเบงเบเบซเบเปเบฒ.
- เปเบเบเบขเบฒเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ DNS เบเบฒเบเปเบเปเบเบเบปเปเบงเบชเบฐเบเบฒเบเบเบตเปเบเบฑเปเบเบเบนเบกเบชเบฒเบ / เบชเบนเบเบเปเปเบกเบนเบ / racks / เบชเบฐเบซเบผเบฑเบ / เบงเบฑเบเบชเบฐเบเบธเบเปเบญเบ.
- เปเบเปเบเปเบฅเบฐเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ, เบเบดเบเบเบฑเปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ DNS caching เบเปเบญเบเบเบดเปเบ, เปเบเบดเปเบเบเปเบฝเบเปเบชเบฑเปเบเบเบฒเบเบเบฒเบเบฎเปเบญเบเบเปเปเบเบซเบฒเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ DNS เบเบปเปเบเบเป, เปเบฅเบฐเบเปเบฒเบกเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเป, เบกเบฑเบเบเบฐเบเบญเบเบชเบฐเบซเบเบญเบเบเบฒเบ cache.
เบญเบฑเบเบเบฑเบเบเบตเบชเบตเป - "เบเบฑเบเบงเบฒเบเบชเบดเปเบเบเปเบฒเบเปเปเบซเปเปเบเบฑเบเบฅเบฐเบเบฝเบเปเบ Nginx"
เบกเบทเปเบซเบเบถเปเบเบเบตเปเบเบต, เบเบตเบกเบเบฒเบเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเปเบเบฑเบเบชเบดเบเปเบเบงเปเบฒ "เบเบงเบเปเบฎเบปเบฒเบกเบตเบเบฝเบเบเปเปเบเปเบฅเบทเปเบญเบเบเบตเป," เปเบฅเบฐเบเบฐเบเบงเบเบเบฒเบเบเบญเบ refactoring configs nginx เปเบเปเปเบฅเบตเปเบกเบเบปเปเบ. เปเบเบปเปเบฒเบซเบกเบฒเบเบเบปเปเบเบเปเปเบกเปเบเปเบเบทเปเบญเบเปเบฒเปเบญเบปเบฒ configs เปเบเบชเบนเปเปเบเบเบชเปเบฒเบ intuitive. เบเปเบญเบเบซเบเปเบฒเบเบตเป, เบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบ "เบชเปเบฒเบเบเบฑเปเบเบเบถเปเบเปเบเบเบฐเบซเบงเบฑเบเบชเบฒเบ" เปเบฅเบฐเบเปเปเบกเบตเปเบซเบเบเบปเบเปเบเป. เปเบเบเบฑเบเบเบธเบเบฑเบเปเบเปเบฅเบฐ server_name เปเบเปเบเบทเบเบเปเบฒเบเปเบเปเบเบฅเปเบเบตเปเบกเบตเบเบทเปเบเบฝเบงเบเบฑเบเปเบฅเบฐ config เบเบฑเบเบซเบกเบปเบเปเบเปเบเบทเบเปเบเบเบขเบฒเบเปเบเบปเปเบฒเปเบเปเบเปเบเบเปเบเบต. เปเบเบเบงเบดเบเบตเบเบฒเบเบเบฒเบ, config เบกเบต 253949 เปเบเบงเบซเบผเบท 7836520 เบเบปเบงเบญเบฑเบเบชเบญเบเปเบฅเบฐเปเบเปเปเบงเบฅเบฒเปเบเบดเบเปเบเบทเบญเบ 7 megabytes. เปเบเบเบชเปเบฒเบเบฅเบฐเบเบฑเบเบชเบนเบเบชเบธเบ:
เปเบเบเบชเปเบฒเบ Nginx
โโโ access
โ โโโ allow.list
...
โ โโโ whitelist.conf
โโโ geobase
โ โโโ exclude.conf
...
โ โโโ geo_ip_to_region_id.conf
โโโ geodb
โ โโโ GeoIP.dat
โ โโโ GeoIP2-Country.mmdb
โ โโโ GeoLiteCity.dat
โโโ inc
โ โโโ error.inc
...
โ โโโ proxy.inc
โโโ lists.d
โ โโโ bot.conf
...
โ โโโ dynamic
โ โโโ geo.conf
โโโ lua
โ โโโ cookie.lua
โ โโโ log
โ โ โโโ log.lua
โ โโโ logics
โ โ โโโ include.lua
โ โ โโโ ...
โ โ โโโ utils.lua
โ โโโ prom
โ โโโ stats.lua
โ โโโ stats_prometheus.lua
โโโ map.d
โ โโโ access.conf
โ โโโ ..
โ โโโ zones.conf
โโโ nginx.conf
โโโ robots.txt
โโโ server.d
โ โโโ cian.ru
โ โ โโโ cian.ru.conf
โ โ โโโ ...
โ โ โโโ my.cian.ru.conf
โโโ service.d
โ โโโ ...
โ โโโ status.conf
โโโ upstream.d
โโโ cian-mcs.conf
โโโ ...
โโโ wafserver.conf
เบกเบฑเบเปเบเปเบเบฒเบเปเบเบฑเบเบเบตเปเบเบตเบเบงเปเบฒ, เปเบเปเปเบเบเบฐเบเบงเบเบเบฒเบเบเปเบฝเบเบเบทเปเปเบฅเบฐเบเบฒเบเปเบเบเบขเบฒเบ configs, เบเบฒเบเบชเปเบงเบเบเบญเบเบเบงเบเบกเบฑเบเบกเบตเบชเปเบงเบเบเบฐเบซเบเบฒเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบเปเบฅเบฐเบเปเปเปเบเปเบฅเบงเบกเบขเบนเปเปเบเบเปเบฒเบชเบฑเปเบ *.conf. เบเบฑเปเบเบเบฑเปเบ, เบเบฒเบเปเบเบปเปเบฒเบเบฒเบเบเบฒเบเปเบเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบเปเปเบเปเปเบฅเบฐเบชเบปเปเบเบเบทเบ 301 เปเบเบซเบฒเบซเบเปเบฒเบซเบฅเบฑเบ. เปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒเบฅเบฐเบซเบฑเบเบเบญเบเบชเบฐเบซเบเบญเบเบเปเปเปเบกเปเบ 5xx/4xx, เบเบตเปเบเปเปเปเบเปเบชเบฑเบเปเบเบเปเบซเบฑเบเบเบฑเบเบเบต, เปเบเปเบงเปเบฒเบเบฝเบเปเบเปเปเบเบเบญเบเปเบเบปเปเบฒ. เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเบเบฝเบเบเบฒเบเบเบปเบเบชเบญเบเปเบเบทเปเบญเบเบงเบเบเบฒเปเบเบดเปเบเบญเบปเบเบเบฐเบเบญเบเปเบเบเบชเปเบฒเบเบเบทเปเบเบเบฒเบ.
เบเปเปเบชเบฐเบซเบผเบธเบ:
- เปเบเบเบชเปเบฒเบ configs เบเบญเบเบเปเบฒเบเบขเปเบฒเบเบเบทเบเบเปเบญเบ (เบเปเปเบเบฝเบเปเบเป nginx) เปเบฅเบฐเบเบดเบเปเบเบเบเปเบฒเบเปเบเบเบชเปเบฒเบเบขเบนเปเปเบเบเบฑเปเบเบเบญเบเบเบปเปเบเบเบญเบเปเบเบเบเบฒเบ. เบงเบดเบเบตเบเบตเปเปเบเบปเปเบฒเบเบฐเปเบฎเบฑเบเปเบซเปเบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบเบเบตเบกเบเบฒเบเบซเบผเบฒเบเบเบถเปเบ, เปเบเบดเปเบเบเบฐเปเบฎเบฑเบเปเบซเป TTM เบซเบผเบธเบเบฅเบปเบ.
- เบเบฝเบเบเบฒเบเบเบปเบเบชเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบญเบปเบเบเบฐเบเบญเบเบเบทเปเบเบเบฒเบเปเบเบเบฅเปเบฒเบ. เบเบปเบงเบขเปเบฒเบ: เบเบฒเบเบเบงเบเบชเบญเบเบงเปเบฒ key server_names เบเบฑเบเบซเบกเบปเบเปเบซเปเบชเบฐเบเบฒเบเบฐเบเบตเปเบเบทเบเบเปเบญเบ + เบฎเปเบฒเบเบเบฒเบเบเบญเบเบชเบฐเบซเบเบญเบ. เบกเบฑเบเบเบฐเบเบฝเบเบเปเบเบตเปเบเบฐเบกเบตเบชเบฐเบเบดเบเบชเบญเบเบชเบฒเบกเบเบปเบงเบขเบนเปเปเบเบกเบทเบเบตเปเบเบงเบเปเบเบดเปเบเบซเบเปเบฒเบเบตเปเบเบทเปเบเบเบฒเบเบเบญเบเบญเบปเบเบเบฐเบเบญเบ, เปเบเบทเปเบญเบเปเปเปเบซเปเบเบทเปเปเบงเปเบขเปเบฒเบเบงเบธเปเบเบงเบฒเบเปเบเปเบงเบฅเบฒ 3 เปเบกเบเปเบเบปเปเบฒเบเบญเบเบชเบดเปเบเบเบตเปเบเปเบญเบเบเบงเบเบชเบญเบ.
เบชเบฐเบเบฒเบเบเบตเปเบเบตเบชเบฒเบก - "เบเบฑเบเบเบตเบเบฑเบเปเบเปเบฅเปเบเบญเบญเบเบเบฒเบเบเบทเปเบเบเบตเปเปเบ Cassandra"
เบเปเปเบกเบนเบเปเบเบตเปเบกเบเบถเปเบเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบ, เปเบฅเบฐเบเบธเบเบชเบดเปเบเบเบธเบเบขเปเบฒเบเปเบกเปเบเบเบตเบเบปเบเบเปเบงเบฒเปเบเปเบงเบฅเบฒเบเบตเปเบเบฒเบเบชเปเบญเบกเปเบเบเบเปเบฅเบฐเบเบตเบเบฐเบซเบเบฒเบเปเบซเบเปเปเบฅเบตเปเบกเบฅเบปเปเบกเปเบซเบฅเบงเปเบเบเบธเปเบก Cassandra, เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบฒเบเบเบตเบเบญเบฑเบเบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเบงเบฝเบเบเบฑเบเบเบงเบเบกเบฑเบเปเบเป.
เบกเบทเปเปเบถเปเบเบเบตเปเบกเบตเบเบฒเบเบธ, เบเบธเปเบกเปเบเบทเบญเบเบเบฒเบเปเบเบฑเบเบเบฑเบ, เบเบท:
- เบกเบตเบเบฐเบกเบฒเบ 20% เบเบญเบเบเบทเปเบเบเบตเปเบเบฑเบเปเบปเบเบเบตเปเปเบซเบผเบทเบญเบขเบนเปเปเบเบเบธเปเบก;
- เบกเบฑเบเปเบเบฑเบเปเบเบเปเปเปเบเปเบเบตเปเบเบฐเปเบเบตเปเบก nodes เบขเปเบฒเบเบชเบปเบกเบเบนเบ, เปเบเบฒเบฐเบงเปเบฒเบเบฒเบเปเบฎเบฑเบเบเบงเบฒเบกเบชเบฐเบญเบฒเบเบเปเปเบเปเบฒเบเบซเบผเบฑเบเบเบฒเบเปเบเบตเปเบก node เปเบเบทเปเบญเบเบเบฒเบเบเบฒเบเบเบฒเบเบเบทเปเบเบเบตเปเปเบเบเบฒเบเบดเบเบฑเบ;
- เบเบฒเบเบเบฐเบฅเบดเบเบเปเบญเบเปเบซเบผเบธเบเบฅเบปเบเบเปเบญเบเบงเปเบฒเบเบฒเบเบเบตเบเบญเบฑเบเบเปเปเปเบฎเบฑเบเบงเบฝเบ;
- เบเบธเปเบกเบขเบนเปเปเบเปเปเบเบชเบธเบเปเบชเบตเบ.
เบญเบญเบเบเบฒเบ - เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบเบตเปเบก 5 nodes เปเบเบเบเปเปเบกเบตเบเบฒเบเปเบฎเบฑเบเบเบงเบฒเบกเบชเบฐเบญเบฒเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเปเบฅเบตเปเบกเปเบญเบปเบฒเบเบงเบเบกเบฑเบเบญเบญเบเบเบฒเบ cluster เบขเปเบฒเบเปเบเบฑเบเบฅเบฐเบเบปเบเปเบฅเบฐเปเบชเปเบเบงเบเบกเบฑเบเปเบซเบกเป, เบเบทเบเบฑเบ nodes เบซเบงเปเบฒเบเปเบเบปเปเบฒเบเบตเปเบซเบกเบปเบเบเบทเปเบเบเบตเป. เปเบเปเปเบงเบฅเบฒเบซเบผเบฒเบเบเบงเปเบฒเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบฒเบ. เบกเบตเบเบงเบฒเบกเบชเปเบฝเบเบเปเปเบเบงเบฒเบกเบเปเปเบกเบตเบเบฒเบเบชเปเบงเบ เบซเบผเบทเบเบปเบเบเปเบงเบเบเบญเบเบเบธเปเบก.
เบเปเปเบชเบฐเบซเบผเบธเบ:
- เปเบเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบเบเบญเบ cassandra เบเบฑเบเบซเบกเบปเบ, เบเปเปเปเบเบตเบ 60% เบเบญเบเบเบทเปเบเบเบตเปเปเบเปเบเปเบฅเบฐเบเบฒเบเบดเบเบฑเบเบเบงเบเบเบฐเบเบทเบเบเบญเบเบเบญเบ.
- เบเบงเบเปเบเบปเบฒเบเบงเบเบเบฐเบเบทเบเปเบซเบฅเบเบขเบนเปเบเบตเปเบเปเปเปเบเบตเบ 50% cpu.
- เบเปเบฒเบเบเปเปเบเบงเบเบฅเบทเบกเบเปเบฝเบงเบเบฑเบเบเบฒเบเบงเบฒเบเปเบเบเบเบงเบฒเบกเบญเบฒเบเบชเบฒเบกเบฒเบเปเบฅเบฐเบเปเบฒเปเบเบฑเบเบเปเบญเบเบเบดเบเบกเบฑเบเปเบเบเบเปเบฒเบเปเบเปเบฅเบฐเบญเบปเบเบเบฐเบเบญเบ, เปเบเบเบญเบตเบเปเบชเปเบชเบฐเปเบเบฒเบฐเบเบญเบเบกเบฑเบ.
- เบซเบผเบฒเบ nodes เปเบ cluster, เบเบตเปเบเบตเบเบงเปเบฒ. เปเบเบตเบเปเบงเบตเบเบตเปเบเบฑเบเบเบธเบเปเปเบกเบนเบเปเปเบญเบเปเบถเปเบเปเบกเปเบเปเบซเบผเบเปเบเบตเบเปเบง, เปเบฅเบฐเบเบธเปเบกเบเบฑเปเบเบเปเบฒเบงเบเบฐเบเบทเปเบเบเบนเปเบเปเบเปเบฒเบเบเบถเปเบ.
เบญเบฑเบเบเบฑเบเบเบตเบชเบญเบ - "เบเปเปเบกเบนเบเบซเบฒเบเปเบเบเบฒเบเบเบฒเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบฐเปเบเบเบญเบเบเบปเบเบชเบธเบ"
เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบปเปเบเบเบปเบเบเบฒเบเบเปเบฅเบดเบเบฒเบ, เบเบงเบเปเบฎเบปเบฒ, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเปเบฒเบเบงเบเบซเบผเบฒเบ, เปเบเป consul. เปเบเปเบเบงเบเปเบฎเบปเบฒเบเบฑเบเปเบเปเบกเบนเบเบเปเบฒเบเบตเปเบชเปเบฒเบเบฑเบเบเบญเบเบกเบฑเบเบชเปเบฒเบฅเบฑเบเบฎเบนเบเปเบเบเบชเบตเบเปเบฒเบชเบตเบเบฝเบงเบเบญเบ monolith. เบกเบฑเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเปเปเบกเบนเบเบเปเบฝเบงเบเบฑเบเบชเบฒเบเบเปเปเบฒเบเบตเปเบกเบตเบเบฒเบเปเบเบทเปเบญเบเปเบซเบงเปเบฅเบฐเบเปเปเปเบเบทเปเบญเบเปเบซเบง, เปเบเบดเปเบเบเปเบฝเบเบชเบฐเบเบฒเบเบเบตเปเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบ. เบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบเบตเป, เบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเบเบทเบเบเบฝเบเบเบตเปเบเบปเบงเบเบฑเบเบเบฑเบ KV. เปเบเบเบฒเบเบเบธเบ, เบเปเปเบกเบนเบเบเบฒเบ KV เบซเบฒเบเปเบ. เบเบทเปเบโเบเบนโเบเบฒเบโเบเบงเบฒเบกโเบเบปเบโเบเปเบฒโ, เปเบเปโเบงเปเบฒโเบกเบตโเบเปเบฒโเบเบงเบโเบเบญเบโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบโ. เบเบฑเปเบเบเบฑเปเบ, เปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบญเบฑเบเปเบซเบฅเบ, เบเบฒเบเปเบซเบผเบเบขเบนเปเปเบเบดเบเบชเบฒเบเบเปเปเบฒเปเบเปเบเบทเบเปเบเบเบขเบฒเบเบเปเปเบชเบฐเบซเบกเปเปเบฒเบชเบฐเปเบซเบกเบต, เปเบฅเบฐเบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ 502 เบเปเบฒเบเบงเบเบซเบผเบฒเบเปเบเบทเปเบญเบเบเบฒเบ backends overloaded เปเบ CPU. เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบเปเบฒเบเบเบฒเบเบเบปเบเบชเบธเบ KV เปเบ postgres, เบเบฒเบเบเปเบญเบเบเบตเปเบกเบฑเบเบเปเปเบเปเบฒเบเบเบตเปเบเบฐเปเบญเบปเบฒเบเบงเบเบกเบฑเบเบญเบญเบ.
เบเปเปเบชเบฐเบซเบผเบธเบ:
- เบเบฒเบเบเปเบฅเบดเบเบฒเบเปเบเบเบเปเปเบกเบตเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบเปเบเปเปเบเบงเบเบกเบตเบเปเปเบกเบนเบเบเบตเปเบชเปเบฒเบเบฑเบเบเปเปเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเบเบญเบเปเบงเบฑเบเปเบเบเป. เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบเปเบฒเบเบเปเปเบกเบตเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบ ES, เบกเบฑเบเบเบฐเปเบเบฑเบเบเบฒเบเบเบตเบเบงเปเบฒเบเบตเปเบเบฐเบเบฐเบเบดเปเบชเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเบฅเบฐเบเบฑเบเปเบเบทเบญเบเปเบฒเบเบเบฒเบเบเบธเบเบเปเบญเบเบเบตเปเบกเบฑเบเบเปเปเบเปเบฒเปเบเบฑเบ, เบเปเบญเบเปเบซเปเบเบฝเบเปเบเปเบชเบดเปเบเบเบตเปเบเปเบฒเปเบเบฑเบ, เปเบฅเบฐเบเบฑเบเบเบฑเปเบ action.destructive_requires_name: true.
- เบเบฐเบเบดเบเบฑเบเบเบปเบเปเบเบเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเปเบฅเบฐเบเบฒเบเบเบทเปเบเบเบนเบเบญเบเบเปเบฒเบเบฅเปเบงเบเบซเบเปเบฒ. เบเบปเบงเบขเปเบฒเบ, เปเบฎเบฑเบ script เบฅเปเบงเบเบซเบเปเบฒ (เบเบปเบงเบขเปเบฒเบ, เปเบ Python) เบเบตเปเบชเบฒเบกเบฒเบเบชเปเบฒเบฎเบญเบเบเปเปเบกเบนเบเปเบฅเบฐเบเบทเปเบเบเบน.
เบชเบฐเบเบฒเบเบเบตเปเบเปเบฒเบญเบดเบ - "Captain Unobvious"
เปเบเบเบฒเบเบเบธเบ, เบเบงเบเปเบฎเบปเบฒเบชเบฑเบเปเบเบเปเบซเบฑเบเบเบฒเบเปเบเบเบขเบฒเบเบเบฒเบเปเบซเบผเบเบเบตเปเบเปเปเบชเบฐเปเบซเบกเบตเบเบฑเบเปเบ nginx upstreams เปเบเบเปเบฅเบฐเบเบตเบเบตเปเบกเบตเปเบเบทเปเบญเบเปเบกเปเบเปเบฒเบ 10+ เปเบ backend. เปเบเบทเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบตเปเบงเปเบฒ round-robin เปเบเปเบชเบปเปเบเบเปเบฒเบฎเปเบญเบเบเปเบเบฒเบ 1st เปเบเบซเบฒ upstream เบชเบธเบเบเปเบฒเบเบเบฒเบกเบฅเปเบฒเบเบฑเบ, เปเบฅเบฐเปเบเปเบฅเบฐ nginx reload เปเบฅเบตเปเบกเบเบปเปเบเปเบซเบกเป, เบเบฒเบ upstreams เบเปเบฒเบญเบดเบเบชเบฐเปเบซเบกเบตเปเบเปเบฎเบฑเบเบเบฒเบเบฎเปเบญเบเบเปเบซเบผเบฒเบเบเปเบงเบฒเบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญ. เบเบฑเปเบเบเบฑเปเบ, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเปเบฎเบฑเบเบงเบฝเบเบเปเบฒเบฅเบปเบเปเบฅเบฐเปเบงเบฑเบเปเบเบเปเบเบฑเบเบซเบกเบปเบเปเบเปเบฎเบฑเบเบเบงเบฒเบกเปเบชเบเบซเบฒเบ. เบเบตเปเปเบเปเบเบฒเบเปเบเบฑเบเบเบตเปเบชเบฑเบเปเบเบเปเบซเบฑเบเปเบเบตเปเบกเบเบถเปเบเบเปเบญเบเบงเปเบฒเบเปเบฒเบเบงเบเบเบฒเบเบเบฐเบฅเบฒเบเบญเบเปเบเบตเปเบกเบเบถเปเบ. เบเบฝเบเปเบเปเบเบฒเบเบญเบฑเบเปเบเบ nginx เปเบเบทเปเบญเปเบเบตเบเปเบเปเปเบเบเบชเบธเปเบกเบเปเปเปเบเปเบเบปเบ - เบเบงเบเปเบฎเบปเบฒเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบฎเบฑเบเบเบทเบเบฅเบฐเบซเบฑเบ lua เบเบตเปเบเปเปเปเบเปเบญเบญเบเปเบเบฎเบธเปเบ 1.15 (เปเบเบเบฐเบเบฐเบเบฑเปเบ). เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเปเบเปเปเบ nginx 1.14.2 เบเบญเบเบเบงเบเปเบฎเบปเบฒ, เปเบเบฐเบเปเบฒเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเปเบเบเบชเบธเปเบกเปเบเบปเปเบฒเปเบเปเบเบกเบฑเบ. เบเบตเปเปเบเปเปเบเปเปเบเบเบฑเบเบซเบฒ. เปเบกเบเปเบกเปเบเบตเปเบเบฐเบเบฐเบเบฐเปเบเบ "Captain เบเปเปเบเบฐเปเบเปเบ".
เบเปเปเบชเบฐเบซเบผเบธเบ:
เบกเบฑเบเบซเบเปเบฒเบชเบปเบเปเบเปเบฅเบฐเบเบทเปเบเปเบเบฑเปเบเบซเบผเบฒเบเบเบตเปเบเบฐเบเบปเปเบเบซเบฒเปเบกเบเปเบกเปเบเบตเป).
- เบเบฑเบเบเบฑเปเบเบเบฒเบเบเบดเบเบเบฒเบกเบเบญเบเบเปเบฒเบเปเบเบทเปเบญเปเบซเปเบกเบฑเบเบเปเบงเบเปเบซเปเบเปเบฒเบเบเบญเบเบซเบฒเบเบฒเบเปเบซเบเบฑเบเบเบตเบเบเบฑเปเบเบเปเบฒเบงเบขเปเบฒเบเปเบงเบงเบฒ. เบเบปเบงเบขเปเบฒเบ, เบเปเบฒเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป ELK เปเบเบทเปเบญเบเบดเบเบเบฒเบก rps เปเบเปเบเปเบฅเบฐ backend เบเบญเบเปเบเปเบฅเบฐเบเปเปเบฒ, เบเบดเบเบเบฒเบกเปเบงเบฅเบฒเบเบญเบเบชเบฐเบซเบเบญเบเบเบญเบเบเบงเบเปเบเบปเบฒเบเบฒเบเบเบธเบเบเบญเบ nginx. เปเบเบเปเบฅเบฐเบเบตเบเบตเป, เบเบตเปเบเปเบงเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบเบปเบเบเบฑเบเบซเบฒ.
เบเบฑเปเบเบเบฑเปเบ, เบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบงเบชเปเบงเบเปเบซเบเปเบชเบฒเบกเบฒเบเบซเบผเบตเบเบฅเปเบฝเบเปเบเปเบเปเบงเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบชเบฐเบซเบฅเบฒเบเบเบงเปเบฒเบเบฑเบเบชเบดเปเบเบเบตเปเบเปเบฒเบเบเปเบฒเบฅเบฑเบเปเบฎเบฑเบ. เบเบงเบเปเบฎเบปเบฒเบเปเบญเบเบเบทเปเบเปเบฒเบเบปเบเบซเบกเบฒเบเบเบญเบ Murphy เบชเบฐเปเบซเบกเบต: เบชเบดเปเบเปเบโเบเบตเปโเบชเบฒเบกเบฒเบโเปเบโเบเบดเบโเบเปโเบเบฐโเบเบดเบ เปเบฅเบฐเบชเปเบฒเบเบญเบปเบเบเบฐเบเบญเบเปเบเบเบญเบตเบเปเบชเปเบกเบฑเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: www.habr.com