"เบเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เป€เบเบตเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ" - เบฅเปเบ–เป‰เบฒ, เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบซเบกเบฒเบเบšเป?

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆ 2019, เบฅเบฑเบ”เป€เบŠเบเป„เบ”เป‰เบกเบตเบเบปเบ”เบซเบกเบฒเบเบงเปˆเบฒเบ”เป‰เบงเบเบเบฒเบ™เบ•เบดเบ”เบ›เป‰เบฒเบเบšเบฑเบ‡เบ„เบฑเบš. เบเบปเบ”เบซเบกเบฒเบเบšเปเปˆเป„เบ”เป‰เบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบ—เบธเบเบเบธเปˆเบกเบ‚เบญเบ‡เบชเบดเบ™เบ„เป‰เบฒ, เปเบฅเบฐเบงเบฑเบ™เบ—เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบกเบตเบœเบปเบ™เบšเบฑเบ‡เบ„เบฑเบšเปƒเบŠเป‰เบ‚เบญเบ‡เบเบฒเบ™เบ•เบดเบ”เบชเบฐเบซเบผเบฒเบเบšเบฑเบ‡เบ„เบฑเบšเบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบกเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เปเบกเปˆเบ™เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบขเบฒเบชเบนเบš, เป€เบเบตเบš, เปเบฅเบฐเบขเบฒเบ›เบปเบงเบžเบฐเบเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบ—เบณเบญเบดเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบ•เบดเบ”เบ›เป‰เบฒเบเบเบณเบเบฑเบš; เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบญเบทเปˆเบ™เป†เบˆเบฐเบ–เบทเบเป€เบžเบตเปˆเบกเปƒเบ™เบžเบฒเบเบซเบผเบฑเบ‡, เบ•เบปเบงเบขเปˆเบฒเบ‡: เบ™เป‰เบณเบซเบญเบก, เปเบœเปˆเบ™เปเบž เปเบฅเบฐเบ™เบปเบก. เบ™เบฐเบงเบฑเบ”เบ•เบฐเบเปเบฒเบ™เบดเบ•เบดเบเปเบฒเบ™เบตเป‰เป„เบ”เป‰เบเบฐเบ•เบธเป‰เบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡เบงเบดเบ—เบตเปเบเป‰เป„เบ‚ IT เปƒเบซเบกเปˆเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เบŠเบตเบงเบดเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบˆเบฒเบเบเบฒเบ™เบœเบฐเบฅเบดเบ”เป„เบ›เบชเบนเปˆเบเบฒเบ™เบŠเบทเป‰เป‚เบ”เบเบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบเบชเบธเบ”เบ—เป‰เบฒเบ, เปƒเบซเป‰เบเบฑเบšเบœเบนเป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™: เบ—เบฑเบ‡เบฅเบฑเบ”เป€เบญเบ‡เปเบฅเบฐเบ—เบธเบเบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ—เบตเปˆเบ‚เบฒเบเบชเบดเบ™เบ„เป‰เบฒเบเบฑเบš. เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบชเบฐโ€‹เบซเบผเบฒเบโ€‹เบšเบฑเบ‡โ€‹เบ„เบฑเบšโ€‹.

เปƒเบ™ X5, เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบˆเบฐเบ•เบดเบ”เบ•เบฒเบกเบชเบดเบ™เบ„เป‰เบฒเบ—เบตเปˆเบ•เบดเบ”เบชเบฐเบซเบผเบฒเบเปเบฅเบฐเปเบฅเบเบ›เปˆเบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบเบฑเบšเบฅเบฑเบ”เปเบฅเบฐเบœเบนเป‰เบชเบฐเบซเบ™เบญเบ‡เปเบกเปˆเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒ "Marcus". เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบšเบญเบเบ—เปˆเบฒเบ™เปƒเบ™เบฅเปเบฒเบ”เบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เปเบฅเบฐเปƒเบœเบžเบฑเบ”เบ—เบฐเบ™เบฒเบกเบฑเบ™, เบชเบดเปˆเบ‡เบ—เบตเปˆ stack เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเบ‚เบญเบ‡เบกเบฑเบ™, เปเบฅเบฐเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบถเปˆเบ‡เบกเบตเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบžเบนเบกเปƒเบˆ.

"เบเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เป€เบเบตเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ" - เบฅเปเบ–เป‰เบฒ, เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบซเบกเบฒเบเบšเป?

HighLoad เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡

"Marcus" เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ, เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™ X5 เปเบฅเบฐเบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™เบ‚เบญเบ‡เบฅเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ•เบดเบ”เบชเบฐเบซเบผเบฒเบ (GIS MP) เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ•เบดเบ”เบชเบฐเบซเบผเบฒเบ. เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเบเบฑเบ‡เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฅเบฐเบซเบฑเบ”เบเบฒเบ™เบ•เบดเบ”เบชเบฐเบซเบผเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเป‚เบ”เบเบžเบงเบเป€เบฎเบปเบฒเปเบฅเบฐเบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปƒเบ™เบ—เบปเปˆเบงเบงเบฑเบ”เบ–เบธ, เปเบฅเบฐเบŠเปˆเบงเบเบเปเบฒเบˆเบฑเบ”เบเบฒเบ™เบˆเบฑเบ”เบฅเปเบฒเบ”เบฑเบšเปƒเบซเบกเปˆเบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ•เบดเบ”เบชเบฐเบซเบผเบฒเบ. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบขเบฒเบชเบนเบš, เป€เบŠเบดเปˆเบ‡เบฅเบงเบกเบขเบนเปˆเปƒเบ™เบเบธเปˆเบกเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบชเบดเบ™เบ„เป‰เบฒเบ—เบตเปˆเบ•เบดเบ”เบชเบฐเบซเบผเบฒเบ, เบžเบฝเบ‡เปเบ•เปˆเบฅเบปเบ”เบšเบฑเบ™เบ—เบธเบเบ‚เบญเบ‡เบขเบฒเบชเบนเบšเบกเบตเบ›เบฐเบกเบฒเบ™ 600 เบŠเบญเบ‡, เปเบ•เปˆเบฅเบฐเบกเบตเบฅเบฐเบซเบฑเบ”เป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เปเบฅเบฐเบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฒเบกเปเบฅเบฐเบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบเบปเบ”เบซเบกเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบŠเบญเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบฅเบฐเบซเบงเปˆเบฒเบ‡เบชเบฒเบ‡เปเบฅเบฐเบฎเป‰เบฒเบ™เบ„เป‰เบฒ, เปเบฅเบฐเปƒเบ™เบ—เบตเปˆเบชเบธเบ”เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฒเบเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบเบฑเบšเบœเบนเป‰เบŠเบทเป‰เบ—เบตเปˆเบชเบธเบ”. เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบšเบฑเบ™เบ—เบถเบเบ›เบฐเบกเบฒเบ™ 000 เบ—เบธเบฅเบฐเบเปเบฒเป€เบ‡เบดเบ™เบชเบปเบ”เบ•เปเปˆเบŠเบปเปˆเบงเป‚เบกเบ‡, เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบšเบฑเบ™เบ—เบถเบเบงเบดเบ—เบตเบเบฒเบ™เปเบ•เปˆเบฅเบฐเบŠเบญเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฎเป‰เบฒเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ—เบฑเบ‡เบซเบกเบปเบ”เบฅเบฐเบซเบงเปˆเบฒเบ‡เบงเบฑเบ”เบ–เบธ, เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบ„เบฒเบ”เบงเปˆเบฒเบˆเบฐเบกเบตเบšเบฑเบ™เบ—เบถเบเบซเบผเบฒเบเบชเบดเบšเบ•เบทเป‰เบ•เปเปˆเบ›เบต.

เบ—เบตเบก เบก

เป€เบ–เบดเบ‡เบงเปˆเบฒเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒ Marcus เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบ›เบฑเบ™เป‚เบ„เบ‡เบเบฒเบ™เบžเบฒเบเปƒเบ™ X5, เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™. เบ—เบตเบกเบ‡เบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ•เบฒเบก Scrum. เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปƒเบ™เบŠเปˆเบงเบ‡เบฅเบถเบฐเป€เบšเบดเปˆเบ‡เบฎเป‰เบญเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เปเบ•เปˆเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ—เปเบฒเบญเบดเบ”เบžเบฝเบ‡เปเบ•เปˆเปƒเบ™เป€เบ”เบทเบญเบ™เบ•เบธเบฅเบฒ - เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบเบญเบšเบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบชเปˆเบงเบ™, เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบฅเบฐเบšเบปเบšเป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เป„เบ”เป‰เบ–เบทเบเบŠเบทเป‰. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เบตเบกเบ‡เบฒเบ™เบกเบต 16 เบ„เบปเบ™, เบซเบปเบเบ„เบปเบ™เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ backend เปเบฅเบฐ frontend, เบชเบฒเบกเบ„เบปเบ™เปเบกเปˆเบ™เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบฅเบฐเบšเบปเบš. เบญเบตเบเบซเบปเบเบ„เบปเบ™เบกเบตเบชเปˆเบงเบ™เบฎเปˆเบงเบกเปƒเบ™เบ„เบนเปˆเบกเบท, เบเบฒเบ™เป‚เบซเบผเบ”, เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบšเปเบฒเบฅเบธเบ‡เบฎเบฑเบเบชเบฒเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™เบ”เป‰เบฒเบ™ SRE.

เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เปƒเบ™เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ; เป€เบเบทเบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ” guys เบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบกเปเบฅเบฐเบ‚เบฝเบ™ autotests, เป‚เบซเบผเบ” scripts เปเบฅเบฐ automation scripts. เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเป€เบ›เบฑเบ™เบžเบดเป€เบชเบ”เบ•เปเปˆเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบฅเบฐเบ”เบฑเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบชเบนเบ‡. เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเป€เบซเบกเบตเบžเบฐเบเบฒเบเบฒเบกเปƒเบซเป‰เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเปเบฅเบฐเบŠเปˆเบงเบเป€เบซเบผเบทเบญเป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบงเบฒเบ‡เปเบœเบ™เป„เบงเป‰เบเปˆเบญเบ™, เปเบฅเบฐเปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบงเบฝเบเบ™เป‰เบญเบเป†เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบ.

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™เปเบœเปˆเบฅเบฐเบšเบฒเบ”เบ‚เบญเบ‡เป‚เบฃเบ coronavirus, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป‚เบญเบ™เบ—เบตเบกเบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ›เป€เบฎเบฑเบ”เบงเบฝเบเบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบ; เบเบฒเบ™เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบ™ Jira เปเบฅเบฐ GitLab เป€เบฎเบฑเบ”เปƒเบซเป‰เบชเบฒเบกเบฒเบ”เบœเปˆเบฒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ. เบซเบฅเบฒเบเป€เบ”เบทเบญเบ™เบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เบ‚เบญเบ‡เบ—เบตเบกเบ‡เบฒเบ™เบšเปเปˆเป„เบ”เป‰เบ—เบปเบ™เบ—เบธเบเบœเบปเบ™; เบชเปเบฒเบฅเบฑเบšเบซเบผเบฒเบเป†เบ„เบปเบ™, เบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเบชเบฐเบšเบฒเบเปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™, เบชเบดเปˆเบ‡เบ”เบฝเบงเบ—เบตเปˆเบ‚เบฒเบ”เบซเบฒเบเป„เบ›เปเบกเปˆเบ™เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบชเบปเบ”.

เบเบญเบ‡โ€‹เบ›เบฐโ€‹เบŠเบธเบกโ€‹เบ—เบตเบกโ€‹เบ‡เบฒเบ™โ€‹เบ—เบฒเบ‡โ€‹เป„เบโ€‹

"เบเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เป€เบเบตเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ" - เบฅเปเบ–เป‰เบฒ, เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบซเบกเบฒเบเบšเป?

เบเบญเบ‡โ€‹เบ›เบฐโ€‹เบŠเบธเบกโ€‹เปƒเบ™โ€‹เบฅเบฐโ€‹เบซเบงเปˆเบฒเบ‡โ€‹เบเบฒเบ™โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เบซเปˆเบฒเบ‡โ€‹เป„เบโ€‹เบชเบญเบโ€‹เบซเบผเบตเบโ€‹

"เบเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เป€เบเบตเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ" - เบฅเปเบ–เป‰เบฒ, เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบซเบกเบฒเบเบšเป?

stack เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบŠเบตเบ‚เบญเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚

เบ„เบฑเบ‡เป€เบเบฑเบšเบกเป‰เบฝเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบท CI / CD เบชเปเบฒเบฅเบฑเบš X5 เปเบกเปˆเบ™ GitLab. เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบกเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฅเบฐเบซเบฑเบ”, เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ—เบปเบ”เบชเบญเบšเปเบฅเบฐเบเบฒเบ™เบœเบฐเบฅเบดเบ”เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เปƒเบŠเป‰เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบฅเบฐเบซเบฑเบ”, เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ 2 เป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบญเบฐเบ™เบธเบกเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเป€เบฎเบฑเบ”เป‚เบ”เบเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบเบฑเบšเบฅเบฐเบซเบฑเบ”. เป€เบ„เบทเปˆเบญเบ‡เบงเบดเป€เบ„เบฒเบฐเบฅเบฐเบซเบฑเบ”เบ„เบปเบ‡เบ—เบตเปˆ SonarQube เปเบฅเบฐ JaCoCo เบŠเปˆเบงเบเบžเบงเบเป€เบฎเบปเบฒเบฎเบฑเบเบชเบฒเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบซเป‰เบชเบฐเบญเบฒเบ”เปเบฅเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบซเบ™เปˆเบงเบเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™. เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบฅเบฐเบซเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ•เป‰เบญเบ‡เบœเปˆเบฒเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบšเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบชเบฐเบ„เบฃเบดเบšเบ—เบปเบ”เบชเบญเบšเบ—เบฑเบ‡เปเบปเบ”เบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เปเบกเปˆเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ•เปเปˆเบกเบฒ.

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบธเบฅเบฐเบเบดเบ”เป‚เบ”เบ "Marcus", เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เป„เบ”เป‰เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบŠเบตเบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡, เบเปˆเบฝเบงเบเบฑเบšเปเบ•เปˆเบฅเบฐเบ„เปเบฒเบชเบฑเปˆเบ‡.

เบงเบฝเบเบ‡เบฒเบ™ 1. เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบญเบญเบเบ•เบฒเบกเบฅเบงเบ‡เบ™เบญเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš

เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฅเบทเบญเบเบงเบดเบ—เบตเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบเป€เบžเบทเปˆเบญเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ‚เบปเบ‡เป€เบ‚เบ”เบ„เบงเบฒเบกเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบกเปเบšเปˆเบ‡เบžเบงเบเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ—เบธเบฅเบฐเบเบดเบ”, เบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบขเบนเปˆเปƒเบ™เบชเบฒเบ‡เบšเปเปˆเปเบกเปˆเบ™เป€เบฅเบทเป‰เบญเบเป†, เปเบ•เปˆเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบซเบผเบฒเบ, เปƒเบ™เป„เบฅเบเบฐเบ—เบตเปˆเบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบœเบนเป‰เบ„เบงเบšเบ„เบธเบกเบ‚เบญเบ‡เบฅเบฑเบ”เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบซเบ™เปˆเบงเบเบ‚เบญเบ‡เบชเบดเบ™เบ„เป‰เบฒเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบš, เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เปƒเบ™เบซเบ™เบถเปˆเบ‡เป€เบ–เบดเบ‡ 600000. , เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ™เบตเป‰เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบชเบฒเบ‡เปเบฅเบฐเบชเบปเปˆเบ‡เบ„เบทเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบชเบฒเบ‡. เปเบ•เปˆเบเบฒเบ™เบ‚เบปเบ™เบชเบปเปˆเบ‡เบˆเบฒเบเบชเบฒเบ‡เบกเบตเบ„เบงเบฒเบกเป€เบ‚เบฑเป‰เบกเบ‚เบธเป‰เบ™เบซเบผเบฒเบเบเบงเปˆเบฒเป€เบเบปเปˆเบฒ, เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ”เป‰เบงเบเบ‚เปเป‰เบกเบนเบ™เบˆเปเบฒเบ™เบงเบ™เบ™เป‰เบญเบเป†.

เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบšเบปเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบšเปเปˆเบกเบตเบฅเบฑเบ”เปเบฅเบฐเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡เบžเบฐเบเบฒเบเบฒเบกเปเบšเปˆเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบžเบฒเบเปƒเบ™เป€เบ›เบฑเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป€เบญเบตเป‰เบ™เบงเปˆเบฒ Kafka เบซเบปเบงเบ‚เปเป‰เบ•เบปเบ™เป€เบญเบ‡. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบ™เบฅเบฐเบžเบฒเบเบชเบปเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเป„เบ›เบซเบฒเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡, เป€เบŠเบดเปˆเบ‡เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบซเบผเบฒเบเปเบฅเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบšเปเบฒเบฅเบธเบ‡เบฎเบฑเบเบชเบฒเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™, เปเบ•เปˆเบงเปˆเบฒเปƒเบ™เบžเบฒเบเบซเบฅเบฑเบ‡.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเปเบเบเป‚เบกเบ”เบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฑเบšเบฅเบฐเบšเบปเบšเบžเบฒเบเบ™เบญเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ. เบ™เบตเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ‚เบญเบ‡ APIs เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เป€เบฅเบทเป‰เบญเบเป†เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบžเบฒเบเบ™เบญเบ, เป‚เบ”เบเป€เบเบทเบญเบšเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบ—เบธเบฅเบฐเบเบดเบ”.

"เบเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เป€เบเบตเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ" - เบฅเปเบ–เป‰เบฒ, เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบซเบกเบฒเบเบšเป?

เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบ™เบฅเบฐเบžเบฒเบเบ—เบฑเบ‡เปเบปเบ”เบ–เบทเบเบ™เบณเปƒเบŠเป‰เบขเบนเปˆเปƒเบ™เบเบธเปˆเบก OpenShift, เป€เบŠเบดเปˆเบ‡เบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเปเบ•เปˆเบฅเบฐ microservice เปเบฅเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบท Service Discovery เบ‚เบญเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบก.

เบงเบฝเบเบ‡เบฒเบ™ 2. เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบฎเบฑเบเบชเบฒเบเบฒเบ™เป‚เบซเบผเบ”เบชเบนเบ‡เปเบฅเบฐเบเบฒเบ™เปเบฅเบเบ›เปˆเบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบซเบผเบฒเบเบซเบผเบฒเบเบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบงเบ—เบต: เปƒเบ™เป„เบฅเบเบฐเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเป‚เบ„เบ‡เบเบฒเบ™เบขเปˆเบฒเบ‡เบ”เบฝเบง, เบ›เบฐเบกเบฒเบ™ 600 เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ•เปเปˆเบงเบดเบ™เบฒเบ—เบตเปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”. เบžเบงเบเป€เบฎเบปเบฒเบ„เบฒเบ”เบงเปˆเบฒเบกเบนเบ™เบ„เปˆเบฒเบ™เบตเป‰เบˆเบฐเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เป€เบ›เบฑเบ™ 5000 ops/sec เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบฎเป‰เบฒเบ™เบ‚เบฒเบเบเปˆเบญเบเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบงเบ—เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เป‚เบ”เบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบธเปˆเบก Kafka เปเบฅเบฐเป€เบเบทเบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เบ›เบฐเบ–เบดเป‰เบกเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš synchronous เบฅเบฐเบซเบงเปˆเบฒเบ‡ microservices เบ‚เบญเบ‡เป€เบงเบ—เบต. เบ™เบตเป‰เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš, เป€เบžเบฒเบฐเบงเปˆเบฒเบšเปเปˆเปเบกเปˆเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฒเบกเบฒเบ”เบšเปเปˆเบŠเบดเป‰เบ‡. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบชเบปเปˆเบ‡เป€เบซเบ”เบเบฒเบ™เบœเปˆเบฒเบ™เบ™เบฒเบเบซเบ™เป‰เบฒ, เปเบ•เปˆเบเบฑเบ‡เบชเบปเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบธเบฅเบฐเบเบดเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เบ‚เปเป‰เบ„เบงเบฒเบก. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เปเป‰เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบšเบฑเบ™เบฅเบธเบซเบผเบฒเบเบฎเป‰เบญเบเบเบดเป‚เบฅเป„เบš. เบ‚เบญเบšเป€เบ‚เบ”เบˆเปเบฒเบเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ”เบ‚เปเป‰เบ„เบงเบฒเบกเปƒเบ™ Kafka เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ„เบฒเบ”เบ„เบฐเป€เบ™เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เบเปˆเบฝเบงเบเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เปเป‰เบ„เบงเบฒเบก, เปเบฅเบฐเบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเปเบšเปˆเบ‡เบžเบงเบเบกเบฑเบ™, เปเบ•เปˆเบเบฒเบ™เปเบšเปˆเบ‡เบญเบญเบเปเบกเปˆเบ™เบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™, เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ—เบธเบฅเบฐเบเบดเบ”.
เบ•เบปเบงเบขเปˆเบฒเบ‡, เบžเบงเบเป€เบฎเบปเบฒเปเบšเปˆเบ‡เบชเบดเบ™เบ„เป‰เบฒเบ—เบตเปˆเบกเบฒเบฎเบญเบ”เปƒเบ™เบฅเบปเบ”เป€เบ›เบฑเบ™เบเปˆเบญเบ‡. เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™ synchronous, microservices เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเป„เบ”เป‰เบ–เบทเบเบˆเบฑเบ”เบชเบฑเบ™เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เป‚เบซเบผเบ”เบขเปˆเบฒเบ‡เบฅเบฐเบญเบฝเบ”เปเบกเปˆเบ™เบ”เปเบฒเป€เบ™เบตเบ™. เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Kafka เบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ„เบงเบฒเบกเบ—เป‰เบฒเบ—เบฒเบเบญเบตเบเบขเปˆเบฒเบ‡เบซเบ™เบถเปˆเบ‡ - เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เบฅเบงเบก Kafka เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ asynchronous. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เป‚เบ”เบเบเบฒเบ™เบ‚เบฝเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡เป‚เบ”เบเปƒเบŠเป‰ Embedded Kafka Broker. เบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบฅเบปเบšเบฅเป‰เบฒเบ‡เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เปเบ•เปˆเบฅเบฐเบ„เบปเบ™, เปเบ•เปˆเบžเบงเบเป€เบฎเบปเบฒเบกเบฑเบเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบชเบฑเบšเบชเบปเบ™เป‚เบ”เบเปƒเบŠเป‰ Kafka.

เบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบซเบผเบฒเบเบขเปˆเบฒเบ‡เป„เบ”เป‰เบ–เบทเบเบˆเปˆเบฒเบเปƒเบซเป‰เบเบฑเบšเบšเบฑเบ™เบ—เบถเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเป€เบžเบทเปˆเบญเบงเปˆเบฒ TraceId เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเบšเปเปˆเบชเบนเบ™เป€เบชเบเป€เบกเบทเปˆเบญเบกเบตเบ‚เปเป‰เบเบปเบเป€เบงเบฑเป‰เบ™เป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‡เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบซเบผเบทเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบš Kafka batch. เปเบฅเบฐเบ–เป‰เบฒเบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒเบžเบดเป€เบชเบ”เบเบฑเบšเบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเบชเบญเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบ–เบทเบเบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบšเบฑเบ™เบ—เบถเบ TraceIds เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆ batch เบกเบฒเบเบฑเบšเปเบฅเบฐเป€เบฅเบทเบญเบเป€เบญเบปเบฒเบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเบชเบทเบšเบ•เปเปˆเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบกเบทเปˆเบญเบ„เบปเป‰เบ™เบซเบฒ TraceId เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš, เบœเบนเป‰เปƒเบŠเป‰เบˆเบฐเบŠเบญเบเบซเบฒเป„เบ”เป‰เบ‡เปˆเบฒเบเบ—เบตเปˆเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบ•เปเปˆเป„เบ›.

เบงเบฝเบเบ‡เบฒเบ™ 3. เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบผเบงเบ‡เบซเบผเบฒเบ: เบซเบผเบฒเบเบเบงเปˆเบฒ 1 เบ•เบทเป‰เบ›เป‰เบฒเบเบ•เปเปˆเบ›เบตเบชเปเบฒเบฅเบฑเบšเบขเบฒเบชเบนเบšเบ”เบฝเบงเบกเบฒเบฎเบญเบ” X5. เบžเบงเบเป€เบ‚เบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ„เบปเบ‡เบ—เบตเปˆเปเบฅเบฐเป„เบง. เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”, เบฅเบฐเบšเบปเบšเบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ›เบฐเบกเบฒเบ™ 10 เบ•เบทเป‰เบšเบฑเบ™เบ—เบถเบเบ›เบฐเบซเบงเบฑเบ”เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเบ‚เบญเบ‡เบชเบดเบ™เบ„เป‰เบฒเบ—เบตเปˆเบกเบตเบ›เป‰เบฒเบเบŠเบทเปˆเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบตเบชเบฒเบก, เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ NoSQL MongoDB เป„เบ”เป‰เบ–เบทเบเป€เบฅเบทเบญเบ. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบชเป‰เบฒเบ‡ shard เบ‚เบญเบ‡ 5 nodes เปเบฅเบฐเปเบ•เปˆเบฅเบฐ node เบกเบต Replica Set เบ‚เบญเบ‡ 3 เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เบ™เบตเป‰เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบฅเบฐเบšเบปเบšเบ•เบฒเบกเปเบ™เบงเบ™เบญเบ™, เป€เบžเบตเปˆเบกเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปƒเบซเบกเปˆเปƒเบ™เบเบธเปˆเบก, เปเบฅเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ‚เบญเบ‡เบกเบฑเบ™. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบžเบปเบšเบšเบฑเบ™เบซเบฒเบญเบตเบเบขเปˆเบฒเบ‡เบซเบ™เบถเปˆเบ‡ - เบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเปƒเบ™เบเบธเปˆเบก mongo, เป‚เบ”เบเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ microservices เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฑเบšเบ‚เบฐเบซเบ™เบฒเบ”เบ•เบฒเบกเบฅเบงเบ‡เบ™เบญเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบซเบ™เบถเปˆเบ‡เปƒเบ™เบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบตเปˆเบˆเบฐเบ‚เบฒเบเบ„เบทเบ™เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เบ›เป‰เบฒเบเบŠเบทเปˆเบ”เบฝเบงเบเบฑเบ™. เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰, เบเบฒเบ™เบŠเป‰เบญเบ™เบเบฑเบ™เบ›เบฐเบเบปเบ”เบ‚เบถเป‰เบ™เบ”เป‰เบงเบเบเบฒเบ™เบชเบฐเปเบเบ™เบ—เบตเปˆเบœเบดเบ”เบžเบฒเบ” เบซเบผเบทเบเบฒเบ™เบ”เบณเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบตเปˆเบœเบดเบ”เบžเบฒเบ”เป‚เบ”เบเบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เป€เบเบฑเบšเป€เบ‡เบดเบ™. เบžเบงเบเป€เบฎเบปเบฒเบžเบปเบšเบงเปˆเบฒเบเบฒเบ™เบŠเปเป‰เบฒเบเบฑเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบชเบฒเบกเบฒเบ”เป€เบเบตเบ”เบ‚เบถเป‰เบ™เป„เบ”เป‰เบ—เบฑเบ‡เบžเบฒเบเปƒเบ™เปœเบถเปˆเบ‡เบŠเบธเบ” Kafka เบ—เบตเปˆเบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™, เปเบฅเบฐเบžเบฒเบเปƒเบ™เบชเบญเบ‡เบŠเบธเบ”เบˆเบฐเบ–เบทเบเบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เบฐเปœเบฒเบ™เบเบฑเบ™. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบŠเป‰เปเบฒเบเบฑเบ™เป‚เบ”เบเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบšเปเปˆเป„เบ”เป‰เปƒเบซเป‰เบชเบดเปˆเบ‡เปƒเบ”. เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบšเปเบฅเบดเบเบฒเบ™เบˆเบธเบฅเบฐเบžเบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป€เบซเบ”เบœเบปเบ™เบ—เบฒเบ‡เบ—เบธเบฅเบฐเบเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ™เบตเป‰. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบš, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบžเบตเปˆเบกเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบžเบฒเบเปƒเบ™ batch เปเบฅเบฐเบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบŠเปเป‰เบฒเบŠเป‰เบญเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบชเปˆ.

เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบเบฑเบšเบ›เบฐเบซเบงเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ” - เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบธเบฅเบฐเบเบดเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เปเบเบเบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเบกเบตเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป€เบŠเบดเปˆเบ‡เบเบฑเบ‡เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบœเปˆเบฒเบ™ Kafka. . เบงเบดเบ—เบตเบ™เบตเป‰, เบœเบนเป‰เปƒเบŠเป‰เป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบงเป‚เบ”เบเบšเปเปˆเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡.

เบงเบฝเบโ€‹เบ‡เบฒเบ™โ€‹เบ—เบต 4: เบเบฒเบ™โ€‹เบ›เบฐโ€‹เบกเบงเบ™โ€‹เบœเบปเบ™ เปเบฅเบฐ เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบเบงเบ”โ€‹เบเบฒโ€‹เปเบ–เบง:

เปƒเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบ, เบšเบฑเบ™เบซเบฒเปเบฅเบฐเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เป€เบเบตเบ”เบ‚เบทเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบตเบเบฅเปˆเบฝเบ‡เปƒเบ™เบเบฒเบ™เบกเบตเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบ„เบดเบง, เปเบฅเบฐเปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™เบžเบฒเบเบ™เบญเบ. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡ Marcus, เปเบซเบผเปˆเบ‡เบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบกเปˆเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเป‚เบเบ‡เบเบฑเบšเบฅเบฐเบšเบปเบšเบžเบฒเบเบ™เบญเบ. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบˆเบฐเบŠเบญเบเบซเบฒเบงเบดเบ—เบตเปเบเป‰เป„เบ‚เบ—เบตเปˆเบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ„เบทเบ™เปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบ•เบญเบšเบ—เบตเปˆเบœเบดเบ”เบžเบฒเบ”เบเบฑเบšเบšเบฒเบ‡เป€เบงเบฅเบฒเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰, เปเบ•เปˆเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบšเปเปˆเบขเบธเบ”เป€เบŠเบปเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”เปƒเบ™เปเบ–เบงเบ•เบปเป‰เบ™เบ•เป. เบชเปเบฒเบฅเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ™เบตเป‰, เบญเบฑเบ™เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ "เบเบฒเบ™เบžเบฐเบเบฒเบเบฒเบกเปƒเบซเบกเปˆเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบซเบปเบงเบ‚เปเป‰" เป„เบ”เป‰เบ–เบทเบเป€เบฅเบทเบญเบ. เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบซเบปเบงเบ‚เปเป‰เบ•เบปเป‰เบ™เบ•เป, เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบซเบผเบฒเบเบซเบปเบงเบ‚เปเป‰ retry เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบ—เบตเปˆเบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบœเบดเบ”เบžเบฒเบ”เบ–เบทเบเบชเบปเปˆเบ‡เปเบฅเบฐเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเปƒเบ™เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบˆเบฒเบเบซเบปเบงเบ‚เปเป‰เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™เบ–เบทเบเบฅเบปเบšเบฅเป‰เบฒเบ‡. เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบเบฒเบ™โ€‹เบžเบปเบงโ€‹เบžเบฑเบ™ -

"เบเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เป€เบเบตเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ" - เบฅเปเบ–เป‰เบฒ, เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบซเบกเบฒเบเบšเป?

เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเบดเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰: เป€เบžเบทเปˆเบญเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฒเบ™เปเบเป‰เป„เบ‚เบ™เบตเป‰เบเบฑเบš Spring เปเบฅเบฐเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบŠเป‰เปเบฒเบเบฑเบ™เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”. เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ—เปˆเบญเบ‡เป€เบงเบฑเบš, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบปเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ Spring BeanPostProccessor, เปเบ•เปˆเป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒ. เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฎเบฑเบ”เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบเบงเปˆเบฒเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™เบงเบปเบ‡เบˆเบญเบ™ Spring เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบเปเบฅเบฐเป€เบžเบตเปˆเบก Retry Consumers. เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป„เบ”เป‰โ€‹เบชเบฐโ€‹เป€เบซเบ™เบตโ€‹เบ•เบปเป‰เบ™โ€‹เปเบšเบšโ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เบ‚เบญเบ‡โ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบเบฑเบšโ€‹เบ—เบตเบกโ€‹เบ‡เบฒเบ™ Springโ€‹, เบ—เปˆเบฒเบ™โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบšเบดเปˆเบ‡โ€‹เป„เบ”เป‰โ€‹ เบ—เบตเปˆเบ™เบตเป‰. เบˆเปเบฒเบ™เบงเบ™ Retry Consumers เปเบฅเบฐเบˆเปเบฒเบ™เบงเบ™เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบšเปเบฅเบดเป‚เบžเบเปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบœเปˆเบฒเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต, เบ‚เบถเป‰เบ™เบเบฑเบšเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบธเบฅเบฐเบเบดเบ”, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบ, เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเปเบกเปˆเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ„เปเบฒเบšเบฑเบ™เบเบฒเบ org.springframework.kafka.annotation.KafkaListener , เป€เบŠเบดเปˆเบ‡เบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ Spring เบ—เบฑเบ‡เบซเบกเบปเบ”.

เบ–เป‰เบฒเบ‚เปเป‰เบ„เบงเบฒเบกเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป„เบ”เป‰เบซเบผเบฑเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบ—เบฑเบ‡เบซเบกเบปเบ”, เบกเบฑเบ™เบˆเบฐเป„เบ›เบซเบฒ DLT (เบซเบปเบงเบ‚เปเป‰เบˆเบปเบ”เบซเบกเบฒเบเบ•เบฒเบ) เป‚เบ”เบเปƒเบŠเป‰ Spring DeadLetterPublishingRecoverer. เบ•เบฒเบกเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ‚เบฐเบซเบเบฒเบเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ™เบตเป‰เปเบฅเบฐเบชเป‰เบฒเบ‡เบšเปเบฅเบดเบเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบฅเบงเบกเบขเบนเปˆเปƒเบ™ DLT, stackTrace, traceId เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบญเบทเปˆเบ™เป†เบเปˆเบฝเบงเบเบฑเบšเบžเบงเบเบกเบฑเบ™. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเปเบฅเบฐเบเบฒเบ™เปเบˆเป‰เบ‡เป€เบ•เบทเบญเบ™เป„เบ”เป‰เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบซเบปเบงเบ‚เปเป‰ DLT เบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบฅเบฐเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบฎเบนเบšเบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเปƒเบ™เบซเบปเบงเบ‚เปเป‰ DLT เปเบกเปˆเบ™เป€เบซเบ”เบœเบปเบ™เบ—เบตเปˆเบˆเบฐเบงเบดเป€เบ„เบฒเบฐเปเบฅเบฐเปเบเป‰เป„เบ‚เบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ”เบงเบเบซเบผเบฒเบ - เป‚เบ”เบเบŠเบทเปˆเบ‚เบญเบ‡เบซเบปเบงเบ‚เปเป‰, เบžเบงเบเป€เบฎเบปเบฒเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ—เบตเปˆเบšเบฑเบ™เบซเบฒเป€เบเบตเบ”เบ‚เบทเป‰เบ™, เป€เบŠเบดเปˆเบ‡เป€เบฅเบฑเปˆเบ‡เบเบฒเบ™เบ„เบปเป‰เบ™เบซเบฒเบชเบฒเป€เบซเบ”เบ‚เบญเบ‡เบกเบฑเบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ.

"เบเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เป€เบเบตเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ" - เบฅเปเบ–เป‰เบฒ, เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบซเบกเบฒเบเบšเป?

เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบปเปˆเบ‡เบ„เบทเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบฅเบปเบšเบฅเป‰เบฒเบ‡เบชเบฒเป€เบซเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบŸเบทเป‰เบ™เบŸเบนเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบžเบฒเบเบ™เบญเบ) เปเบฅเบฐ, เปเบ™เปˆเบ™เบญเบ™, เบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เปเป‰เบšเบปเบเบžเปˆเบญเบ‡เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐ. เบ™เบตเป‰เปเบกเปˆเบ™เบšเปˆเบญเบ™เบ—เบตเปˆเบซเบปเบงเบ‚เปเป‰เบ•เบปเบ™เป€เบญเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบกเบฒเบชเบฐเบ”เบงเบ: เป€เบžเบทเปˆเบญเบšเปเปˆเปƒเบซเป‰ restart เบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบเบฒเบง, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” restart เบกเบฑเบ™เบˆเบฒเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™.

"เบเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เป€เบเบตเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ" - เบฅเปเบ–เป‰เบฒ, เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเบซเบกเบฒเบเบšเป?

เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เป€เบงเบ—เบต

เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบกเปเบกเปˆเบ™เปเบฅเป‰เบงเปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ—เบตเปˆเบกเบตเบ›เบฐเบชเบดเบ”เบ•เบดเบœเบปเบ™, เบ—เบธเบเป†เบกเบทเป‰เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบˆเบฑเบ”เบชเบปเปˆเบ‡เปเบฅเบฐเบเบฒเบ™เบ‚เบปเบ™เบชเบปเปˆเบ‡, เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบชเบนเบ™เบˆเปเบฒเบซเบ™เปˆเบฒเบเปเบฅเบฐเบฎเป‰เบฒเบ™เบ„เป‰เบฒเปƒเบซเบกเปˆ. เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡, เบฅเบฐเบšเบปเบšเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบเบธเปˆเบกเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™ "เบขเบฒเบชเบนเบš" เปเบฅเบฐ "เป€เบเบตเบš".

เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡, เบงเบดเป€เบ„เบฒเบฐเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปเบฅเบฐเปƒเบซเป‰เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบ™เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบˆเบฒเบเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบšเบฑเบ™เบ—เบถเบเป„เบ›เบซเบฒเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡.

เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบŠเป‰เปเบฒเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบ—เบธเบเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบžเบปเบšเป€เบซเบฑเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เปเบกเปˆเบ™เบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™เปƒเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡ autotests เปเบฅเบฐเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบซเบ™เปˆเบงเบเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเบเบฒเบ™เบ–เบปเบ”เบ–เบญเบเปเบฅเบฐเบ•เบดเบ”เบ•เบฑเป‰เบ‡ hotfix เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡เบžเบฒเบเปƒเบ™เบชเบญเบ‡เบชเบฒเบกเบŠเบปเปˆเบงเป‚เบกเบ‡.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบชเบทเบšเบ•เปเปˆเบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เป€เบงเบ—เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เปเบฅเบฐเบ›เบฐเป€เบŠเบตเบ™เบเบฑเบšเบชเบดเปˆเบ‡เบ—เป‰เบฒเบ—เบฒเบเปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบชเบปเบ™เปƒเบˆ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™