เบเบฒเบ™เป€เบฅเบทเบญเบเปเบšเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณ (เบ•เบญเบ™เบ—เบต 2)

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

เบเบฒเบ™เบ™เปเบฒเบชเบฐเป€เบซเบ™เบต

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

ะ’ เบ„เบฑเป‰เบ‡โ€‹เบชเบธเบ”โ€‹เบ—เป‰เบฒเบ เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบš monolith เปเบฅเบฐเป„เบ”เป‰เบชเบฐเบซเบผเบธเบšเบงเปˆเบฒ monolith เบกเบตเบšเบฑเบ™เบซเบฒเบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡: เบ‚เบฐเบซเบ™เบฒเบ”, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบ‚เบฐเบซเบ™เบฒเบ”, เบ„เบงเบฒเบกเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบทเปเบฅเบฐเบ„เบงเบฒเบกเป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”.

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

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณเบ—เบตเปˆเป€เบ™เบฑเป‰เบ™เบญเบปเบ‡เบ›เบฐเบเบญเบš

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

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

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

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

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

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™

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

เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเบฎเบฑเบ”เบเบธเบกเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ (SOA = เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเบฎเบฑเบ”เบเบธเบกเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™) เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบ‚เบญเบ‡ monolith: เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบซเบ™เบถเปˆเบ‡เป„เบ”เป‰เบฎเบฑเบšเบœเบปเบ™เบเบฐเบ—เบปเบšเป€เบกเบทเปˆเบญเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡, เปเบฅเบฐ API เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบ”เบตเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบซเบธเป‰เบกเบซเปเปˆเบ—เบตเปˆเบ”เบตเบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบš.

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

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

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

เบ„เบงเบฒเบกเบ™เบดเบเบปเบกเบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ—เบตเปˆเป€เบ™เบฑเป‰เบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป„เบ”เป‰เบชเบนเบ‡เบชเบธเบ”เบ›เบฐเบกเบฒเบ™เบ›เบต 2008, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เป€เบฅเบตเปˆเบกเบซเบผเบธเบ”เบฅเบปเบ‡, เป€เบŠเบดเปˆเบ‡เป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบซเบผเบฒเบเบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบกเบฒเป€เบ–เบดเบ‡เบ‚เบญเบ‡ microservices (~ 2015).

เบชเบฐเบซเบฅเบธเบš

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

เบเบฒเบ™เป€เบฅเบทเบญเบเปเบšเบšเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเบณ (เบ•เบญเบ™เบ—เบต 2)

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

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