Habr αααα»αααααΆααααααΌααα·αααααα ααΎαβααΆαβαααααβαααα»αβααΆαβαα½αβααααΆαβα αΎαα αααα ααααααΆααα½αααααααααα ααα ααΎαααΆαααα½αααΌαααα·αα·ααααααα‘αΌαααΆαααΈα’ααααααα»α Khabrovskα βDodo α’ααααα·ααΆααααααααΈααααααααΆα’αααααΆαααααααααααααΆαααααα½αααααα’αααα ααΎαααααΆαααααααααααααΆ? α αΎαα ααα»α’αααΈααΆαααΆαααααααααΆααααΈα αααΆααααΌαααΆαααΆ?
ααΎαβα’αααα»αβαα·α α αΎαβααΉαβααΆβα’αααβααααΌαα ααΎααααα»αααααΆααΆαααααααα’αααΈααααααααΆααααααααΎααααΆαααααααααΎα ααα»ααααααΆα ααααααΆααααααα αα α αΎααα·αααΆαααΆααα·αααααΆααααααα’αααΈαααααααααα ααααααααΆαααααα ααΌα ααααααΆαα αΆααααααΎαααααΎααααααααααΆαααααΆααααααΌαααααααΆα αααααααα’ααααα·αααα αα·ααααααα’αααααααΆαααααααααΆααα’αααΈ Dodo IS α αααβαα !
ααΆαααα½αααααΆααα α’ααα»ααααααΆααααΆαα αααααααααα·ααααα’αααααΆαα½ααα½αααΎαα ααΌαα’ααα»ααααααΆαα ααΈαααα»αααΎαααΆααααααΆα’αααΈαααααααα α ααααααααααααααα αα αααα·ααααΆ α αΎαααΉααααα αΆαααΆααα·αααααΆααααααααααΎαααΆαααααααΎαα ααΎααααΆαα’ααααα ααΎαααΉαα’αααα»ααααααααααααα 5 ααααΆααααα
αααααΈααα’ααααα "ααΎ Dodo IS ααΆα’αααΈ?" ααααΆααα’αααΈα
- Monolith ααααΌααα Dodo IS (2011-2015) α (αααα»αβααααΎαααΆα...)
- ααααΌα Backoffice: ααΌαααααΆαααΆα ααααα‘αα αα·αα‘αΆααααα»αα (α’ααααα ααΈααα)
- ααααΌαα αα ααα’αα·αα·ααα facade ααΈααΎααΌαααααΆα (2016-2017) α (αααα»αβααααΎαααΆαβ¦)
- αααααααα·ααααααΆααααααΈααααΌαα·αα (2018-2019)α (αααα»αβααααΎαααΆα...)
- ααΆααααα αα sawing αα monolith αα·ααααααααΆαααααααΆααααααααα (αααα»αβααααΎαααΆα...)
ααααα·αααΎα’αααα αΆααα’αΆαααααααααα»αααΆααααα’αααΈααααααααααΌαααααααα αααα»αααα·αααααα
αααααααΎααΆααα·αααααΆααΆαααΆααααααααα·ααΈα’ααααα·αααα
αααα»αααααααααα
ααα·α
αα
ααααα»ααααααΆαααα»ααααα·αααααΈααΎαααααΆααα "ααααΆαααααααααααααααα"α ααΎαα α
ααΆααΆ "Intro to Dodo IS Architecture" α αΎαααΆααΊααΆααααααα½αααααααΎαααΆαα
αΆααααααΎααααααΆααα’αααα’αα·ααααααααααΈα ααααα·ααΆαα’αααΈαααααααα½α α¬ααααααααααααααα’αααΈααααΆααααααααααααααΎα α’αααΈαααααααα·αααααααααΆ αααα»αααΆααααααΎααα·ααΈααΆααααααααααααα·ααΆαααααααΆααααΆαααα½αα
ααααααΆααα·αααααΆα
ααΆαααααααΈ ααΎαααΎααα ααΎααααααααααΆαααα»ααααααΆαααΆαα» (αα αα ααααα α¬ααααα·αααααα) αααΌαα»αα’αΆααΈααααααααααΆαα’ααααααααααΆαα½αααααΆ ααΎααααΈαααααα ααΆαααΌαααααα αα½αα ααα½αα α αΎαααααααααααα·αααααΆαααααααααΊααα ααα»αααααααΆααααΆααα ααΆ ααΆαα·αααααααααΆαααααα»ααααααΆααααΆααα·αααααΆ αα·αααΆααααααΉααααααα ααΆαα ααα»ααααΆα αααΎαα
- ααΆααα·αααΊαα»αααΈα’αααΈαααααΆααα ααΎαααααΆαα α’αααΈααα·αααααΎαααΆαααΌα ααΆαααααααα»αααα α αΎαβααΎαβα αΆααβα’αΆααααααβαα βααΎβααααβαααβα’αααΈβαααααβαααΆαβαα·αβααΆβααΆαβααααβααααΆα αα·αβααααΎαβααΆαα
- ααΆααααα αΆαααααααΆαααααααααΆα ααΆαααΆααα·α α’αααα’αΆα αα ααΆαααΆααααααααα·ααΈααΎααα αΌααααααααΆαααΆααα αα α»ααααααα
- ααΈααΆαααααα
αααα»αααααΆαα αα·αβαααβααΆβαααβαα ααα»ααααβαααα»αβααααΈβααααβααΎαβααΆβααΌα
ααααα ααααΆααααααααααΆαααααΆααααααΌαααΈαα·ααΈααΆαααααααΆαααααα
αααα»αααααΆαααΆαα ααΆααΉαααΆαα ααΆααααααΆααααα»αααααΆα αααα αΆααααααΏαααααΆαα’αα»αααα αα·ααααααααΆα ααααΌα
ααΆαααααααααααααα·ααΆαααα·αααααααααααΈαααααΈαααααααΌαααΆααα·αααααΎαααΆα (
αα ααΈααα αα·ααΆαααΆαααα’α’αααΈααΆααααα»αααααΆααααα»αααααΆααΆαα½αααΉααααααΌαααΆααααααααα)α
αααα»αααααΆα 2011 ααααΆαααααααα Dodo IS ααΎααα ααΌα ααα:
αα ααααΆα 2020 ααΆααΆαααααααα»αααααΆαααααα·α α αΎαααααΆαααΆααΌα αααα
ααΎβααΆαβαα·ααααααβαααβααΎαβα‘αΎαβαααβααααβααΆ? α ααα»α’αααΈααΆαααΆαααααααααααααααααααααααααΌαααΆα? ααΎααΆααααααα
α
α·αααααΆαααααΆααααααααα’αααΈααααααααΌαααΆαααααΎα‘αΎα α αΎαα ααα»α’αααΈ? α
αΌαααΎααααααααααα
αααα»ααααααΈααα’ααααααααα
αααα αΆααααΌαααααααΆα 2016: α ααα»α’αααΈααΆαααΆααααΆαααααα½αα αΆαα ααααΈ monolith?
α’αααααααααΌααα αααα»ααααααΈααΉααα·ααΆαα’αααΈααααΆαααααααααααΌαααααααααααα ααααΈ monolith α ααΎααααΈααΆααα±ααα’αααα αΌααα αααα»αααα·αα αααα»αααΉαααααΆααα’αααααΈαααα αΆαααααΎαααΆααα αααα»ααααααααααα ααΎαααααΆα 2016 αααααΎαααααΌααααααααΆαααΆαα½αααΉαααΆααααααααααΆααααα
ααΌαααααΆααα·αααααα MySql αααα½αααααααααα·ααΈααΆααα’αααααααΆααα αααααααα αααα»α Dodo IS ααΆαααααααααααααααΆαααααα½αααα αααα·ααΆαααΊα
- ααααα»αααααα (ααΆαα½α 85% ααααααΎααααΌαααΆαα’αΆα) α
- ααΌαααααΆαααΆαααΈαα ααααΎαα αααααΆαααααα ααΆαα αααΆα αα·αααΆαααΆααααααΆαααααΆαααΆαααα αΆα
- α ααα»α αααα½αααααΆααααΆαααα ααααα·αααΎαααααα·ααΈαα½αααααααα ααΌαααααΆααα·ααααααααααΆααααΆαα αΆααααααΎαααααΎααΌα ααααααΆααααααααα ααααααααα·ααΈααααααααααΆαα’αΆααααααααΆααΆααααααααΆααα
- α’ααααα·αααααΆααααα»αααΆααααα»α αα·ααααα½αα ααΆααΉαααΆαααα·ααααααααααΌαααΆααααααΆαα»ααααα»ααα ααΆαααααααααα½αα ααα½ααααααΆααααα½ααααααΆααααααΆααΈαααΌαα½αα ααα½α ααα»αααααα·αααααααααΆααα’αααααααααααα ααααααααααααααΎαααααΏαααααα·ααααα·ααΆααα½αα ααα½α ααα»ααααα’αΆα αααααααααΏαααααααααα
- αααα αΆαα½αα ααα½αααααΌαααΆααααααααΆααααααααΆαααααααΆαααααααΆααααααΎααααΆαααΆαααα αα αα·αααΆαα αααααα ααΆααααΌαααααΆααα·αααααα (αααααΉαααααΌαααΆααα·ααΆααααΆαα αααα»αα’αααααααΆα ααααα‘αααα½α) ααα»αααααα½αααααααΆααααα’αα»ααααΆαα±ααααΎαααα½αααΆααααααααΆ αα·ααα·αααΆααααααααΆααααα αΆααΆααΌαααααΆαα
αααα αΆααΊααααααΆααααα monolith αααα½αα―α. αααα·ααΆαααΊα
- ααΆαα ααααααΆααα·ααα αα·αααααα
- ααΆαααααΆαααΊαα αααα»αααΆαα’αα·αααααααα½αααααΆααααααα»ααααα½αα ααα½αααα
- α’αααααααΆααααα»αααΆαααααΆααα αα αααα·ααααΆααααΈ αααααααααααααΈ αα·ααααααΆαααα
αααα αΆααΆαα½αααΌαααααΆααα·α monolith ααααΌαααΆααα·αααααΆααΆα
αααΎαααα§ααΆα ααααα
αααα»αααα·ααααααΆαααΆαααα
ααΎαααααΆα 2018 (
ααααΌαααΆαα·ααΆαααααΆααααααα ααΌαααααΆαααΆα ααααα‘αα αα·αα‘αΆααααα»α
ααΆααα»αααααααΌα
αααααααΆααααα monolith 2016 ααΎαβα αΆααβααααΎβαβααΎααααΈβαααβα αα monolith: ααΆαβαααααβαα Auth αα·α Tracker
ααΎ Auth ααααΎα’αααΈ? ααΎααααα»αααααΈααΆ? αααα»αβαααα»αβα―αααΆαβαααααααααΆαα ααΎ Tracker ααααΎα’αααΈ? ααΎααααα»αααααΈααΆ? αααα»ααααα»ααααααα·ααΈααΆαααΆα
αααααααΆααααα monolith 2016
αααααΊααΆαααα»αααααΆααααα 2016 Dodo IS monolith α αΎααα
ααΆααααααααΊααΆααΆααα·ααΆαααααΆααα·α
αα
α
αααααααααα½αααα
αα»ααΆα
αααααΆααααΉααααααΌαα ααααααααααααΆααα’αααααΆααααα»ααα ααΆαα
ααααΆααααααΆαα·ααα
ααΆααα’αααααΆααααα»αααα
αααααααααααααΆαααααα. ααΆαααα½αααααΆααααααΆαα·αααΆααααααααα·ααααα·ααα
ααααααααααΆα. ααα αααααααααααΎα (dodopizza.ru, dodopizza.co.uk, dodopizza.by ααΆααΎα)α
α’αΆααα. ααΆαααααααα·αααα· αα·αααααΆαααααααααΆαααααααΆααααΆαα·ααΆαααααΆααααααα
αααααα·ααΈααΆαααΆα. αααααα·ααΈααΆαααΆαααΆααααααΆαα·αααααααΆαα ααααΆαααααααααΆαααααααΆααααααΆαααΆαααααααααα½ααα
ααααααα
αααΆααααααΆαα·αα
αα»ααααΆαααααααΈαααααΆα. ααα½αααΆααααααΆαα·ααα
αααα»ααααααΈαααααΆα α
ααα»α
αααααΆααα’ααααα·ααα»αα
ααΆαααΆαα
αα. ααΆααααα»αα‘αΎααααΆαααΆααααααα»α 1C αααααΆαααααααααα
ααΆαααΌαααααΉα αα·ααα·αααααααα. ααΆααααααΆαααααα‘αααα
αααα»αααααααΆα (α§ααΆα ααα "ααΈα αααΆααααΈααΆααααααα αΎα") + ααΆαααααα»ααααα·αααααααααααααΆααα’αααααΆααααα»αααα
α’ααααααααααααααααΌα. α
ααα»α
αααααΆαααααααΆααααΆαααΆαααααα’ααααααααααααααΆαααααΆααααααΌα: αααααΈααααΆααααααΆαα·α, ααΆααΆαααα·αααΆα, ααΆααα»ααααα·ααα
αααα
α’ααααααααααααβααΆαα·ααΆααα. α
ααα»α
αααααΆαααααααΆααααΆαααΆαααααα’αααααα½ααα·αααα· αα·αα’ααααααααααααα ααΆαααα½ααα»ααααα·α αααΆαααΆαααααααΈααΈααΆαααΆαααααααΈα αααΆα
ααααααααααΈαααααΆα. ααΆααααα αΆααααΊαα»ααα
ααΎααΌααααααααα
αααα»αα αΆαααΈα αααΆα
α’αααααααααααα. ααΆαααααααααααΆααα αΆαααΈα αααΆααΆααααΆαααα½αα αααΊαα»α ααααα ααααααα αααααΌαααααααααααΆα ααΆαααααααααααΆα αααΆαααααΆααααα αααααααα
ααααΈααααΆαααααα½ααααααα·αααα·α. ααΆααα·ααΆαααΆαααΆααααααα»ααααα·α ααααααΆαα’αααΈαα»ααααα·αα
αααα»αααααΉααααΆααΎαααΉαα
α·αααααααααΆα. α’ααααααααΆα
ααααα‘ααααααααα½ααα
αααα»αααααααΆα αα·ααααα αΆαααααΏαααααα’αααααα·αααΈα αααΆα
ααΆαβααααΆαααααα. ααΆαααααΎααΆα αα·αα’ααΈαααα
ααΆααααα»αα―αααΆα. ααααΆααααααααΆαααααα½ααααααΆααααΆαααα½ααα·αα
ααα―αααΆααα·αα·ααααα
ααΆαααα»ααααααααΌαααΎααααΈαααααααΆααααα αΆααΆααα½αααΎα ααα»αααααα½αααααααΆααααααΆααΆααααααΆαααααααα’αΆααααααα»αααααα αα½αααΆαα·αααΆαααααΆαααΆαααααααααΆααααααααααα ααΌα ααααααΆα αααΆααααΆααααΆααΆαα’αααΈαα½αααααΌαααααΎααΆαα½αααΌαααααΆαα α§ααΆα ααα αααα ααααΌαααααΆααα·ααααααααΌαα αα ααΆα―αααααα½αα ααα½ααααα
ααΎαβα αΆααβααααΎβαβααΎααααΈβαααβα αα monolith: ααΆαβαααααβαα Auth αα·α Tracker
ααααΆααααααααΆαααααααααααΆααααααααα αα·αα’αΆαααΈααΌαααααΆααα·ααααααα αααΎαααΆαα’ααααααα
- αα·αααα·α ααΆαααααααα·αααα· αα·αααααΆαααααααααΆαααααααΆααααΆαα·ααΆαααααΆααααααα
- αααααα·ααΈααΆαααΆαα αααααα·ααΈααΆαααΆαααΆααααααΆαα·αααααααΆαα ααααΆαααααααααΆαααααααΆααααααΆαααΆαααααααααα½ααα ααααααα αααΆααααααΆαα·αα
ααΎ Auth ααααΎα’αααΈ?
Auth ααΊααΆααααΆαααααααα’αααααααΎααααΆααα αΌααα ααΆαα·ααΆαααααΆαααααα (ααΆαααΆαα αΌααααα―αααΆαααααΆα ααααα‘αααα αααααα’αα·αα·αα)α ααΆααααΌαααΆααααααααααα αααα»αααααΎααΎααααΈααΆααΆααΆαα·αααα·α αΌαααααΎααααΉαααααΌαααΆαααααααΆα α αΎααα·αααα·ααΆααααααα·αααΆαααααΆααααααΌαα αΆααααΆααααΈααΆαα αΌαα α»ααααααα α§ααααααααα αΌαααΈα αααΆααΆααααααΆα
ααΆα§ααΆα ααα ααΎαα ααααΎαααΆααααα αΆαααΆαα½αααΉαααααΆαααΆαααααΆααααααΆαα·ααααααΆααααα αααα ααΎααΌαααααααααααααα½ααα αααα»αααΆαα αααααΆααααααΎαααΎα auth.dodopizza.ru ααααΎαααΎα "α αΌαααΆα§ααααα" ααΌαααα α‘αΎααααα’αΆα αααα αΌααααα»αααααααα·ααααα½ααα ααΎαα»αααααΌαααααααα’ααααααααααααααΆαααααΆααααααΌα ααααααα αΆαααΈααααααα§ααααα (α§ααααα)α ααΌααααααααααα½αααΆααΉααα ααΆααα ααα»α αααααΆαααααα ααααΆαααα αΆαααΈα αααΆααααααΆ α αΎαα αΆααααααΎααααα αΆααααααα’αα·αα·αααααααΆααααααΆαα·ααα½α ααΆαααα ααΈαααα
ααΎααααα»αααααΈααΆ?
α’αααααααΎααααΆαα backoffice αααααΆαα αΌαααΈαα½αααα ααΆααααΌαααααΆααα·αααααααααααΆααααααΎααΈαα½αα αα ααΆααααΆααΆαα’αααααααΎααααΆαα ααΆαα’αααααααΎααααΆααα ααααΈααΈαααααΆαααααααα½α sql α αΎααα·αα·αααααΎαααΆααΎααΆααααΆααα·αααα·α αΌαααααΎααααΆααα αΆαααΆα α αα·ααα·αααα·αα ααΆαααααααααααααα¬ααα
α§αααααααΈαα½ααααααΎααΌα ααααΆααααΆαα½αααΆααΆαα§ααααα ααααα·αα·αααααΎααα½ααΆααΈ αα·αααΆαα αΌαααααΎααααΆααααααααΆα ααααΎαα½αα ααα½ααααα ααΆααααΌαααααΆααα·ααααααααααΆαα±ααααΆααααα»αααααααΆ αα·αααΆαααααααααΆαααααΆαααΌαααααΆααα·ααααααααΌαα ααΎααααα·ααααα·ααΆαααΆαααααα
αααα»αβαααα»αβα―αααΆαβαααααααααΆαα
Auth ααΆααααααΆα ααααααΆα αααααΊαα·ααααααα’αααΈα’αααααααΎααααΆαα ααΆαα αΌα α¬α§αααααα αΌααααα»αααααΆαααα (αα αα α»ααααααααΆαααα’ααΆαα) α αΎααα ααααΆααα ααΈαααα ααααα·αααΎααααΆααααΆααααααΌαααΆααα½ααα ααΆααααΉαα αΌααα ααΆααααααΆααααααααααααΆαααα·ααααααα
WAS ααα αΌαααΆαααΆαααααΌαααΊααΌα αααα
αααα»αα
ααααααααααααα·α
α’αααΈαααααααααΆααααΎαααΆαα
- ααααΎααΆααααα ααααααααααααΆαααααα (Asp.Net MVC αα ααΈααα) αααααΆαααααααΆαα½αααΆααΌαααΌααΈαααα αααααααΌαααΆαααααΎααΎααααΈααα½αααΆααα·ααααααααααααΈ Redis(1)α ααΆααΆαααααααΆαα’αααΈααΆαα αΌαααααΎ α αΎααααααΆααααααΆαα αΌαααααΎα§ααααααααααΆααΎα (3,4) α¬α’ααα
- ααααα·αααΎαα·αααΆαααΆαα αΌαααααΎαα α’αααααααΌαααααααΆααααΈαα·αα·ααΈα’αα»ααααΆαα αα ααΈααα ααΎααααΈααΆαααΆαααα ααΆααααΌαααΆααααα αΆαααΆαααααααααααΌααα αααα»ααα»αααααααααΌα ααααΆ αααααΈααΆαααααΆααΆαααααΆααααααΌααα ααΆαααααααα αΌααααααα αααα»αααααΈααΆαααααΆααΈαααΌαα·αααααΆα ααΎαααΉαααα½αααΆααααααααααΆααααααααααΉαααααΌα α αΎαα αΌααα ααΆαα Backoffice Controllerα
- ααααα·αααΎααΆααα·αααααα αααα’αααααααΌααα·αα·αααααΎαααΆαααααΆααααΆαααΆααααααααα αααα»αααΌαααααΆααα·ααααααα’αααααααΎααααΆααα ααΎβαα½ααΆααΈβααααβααΆααβααΆαβααααΆααβααααΌαβα αΎαβα¬βαα β? αααα»αααααΈααα αααααΆααααΈααα½αααΆααααα (1) α’αααααααΌαα αΌααα ααΆααααΌαααααΆααα·αααααααααααααΆαα α αΎααα·αα·αααααΎαααΆαα αΌαααααΎααααΆααααααα’αααααααΎααααΆαααααααααΎαααααΆαααααααα·ααααΆααΆααααααααααΆααααΆαααααΉαααααΌα (2)α αααααΆααααα αΌααα ααΆαααααααα αΌα α¬αα ααΆααα§ααααααααααΆα αααααΊααΆααααααααααΆαααα ααα»αααααα·αααααααααααΆαααΆαααααα»ααααααα
- ααααα·αααΎααΈαα·αα·ααΈααΆααα’ααααααΌαααΆααααα αα αααααΎαααααααααααααααα αααα»ααααααα·ααααΆαα αααα»αα§ααααααααααΆ αα·ααα·ααΈααΆαααααα
αα·ααααααα’αααααααΎααααΆααααααΌαααΆααααααα ααααΈαα·ααααααααααααααααΆααα’αα ααΆααααΌαααΆααααααΆαα»ααααα»αααΆααΆααααΆαα·αααΆαααΆα ααααα‘αα αα»αααΆαααΈαααααΆαααααααα·ααααΆ AuthService α’αΆα ααααΆαααΆαα·ααΈααΆααααα API α ααααααααααααααααΌαααΆαααααααααΆαα αααΆααα α’αααααααΎααααΆαα αα½ααΆααΈαααααα½ααα αα·ααααααα αΌαααααΎ ααΆαα αα αα·αααΆαααα αΌααα·αααα·α αΌαααααΎααααΆααα α’αααΈαααΎααα α αΆααααΌα ααΆααΆα’αΆα ααααΌαααΆαααααΆααααΈαα ααααΆααααααΆα ααααα‘ααα
ααΆαααααΆαααΆα αααα αΎαααΆα’αααΈααααα½αααααΆαααααΎα
αα·ααΈααΆααααααααααΆααααα αΆαα½αα
ααα½αα α§ααΆα ααα ααΆαα α
αα·ααΈααΆααααααα½ααα
ααΆααααα»αααααΎαααΆαααΊαα·αααΌα
ααααΆααΉαααΆαα α
ααααΆααΆααααα
ααΆαααα http αααααα ααΆαααΊααααΆα ααΆαααΏααΆαα ααΆαααΆαααα αα·ααααααΆααΆαααααααα·ααααα·ααΆαααΊαα»αααααΆααΆαααααα»αα Andrey Morevsky ααΆααα·ααΆααααα’α·αα’αααΈαααα αΆααΆααααααα
αααα»ααααΆαααΆαααααααααΆααα
ααααΆαααααααααααααΆαα αα·αααΆαα½αααΆ ααααΆα§αααααααααΌαααΆαααααΎαααααΆααααΆαα·ααΆαααααΆαααααα αααααΊαααααΆααααααΆαααα αα·αα ααα»α αααααΆαααααααααΎαααα»αααα·αααααα ααΆααααααααααΆααααΆαααααΉαααααΌααααααΆααααααΆααααα’αα·αα·αα (ααΌα ααΆααα ααααα α¬αααααα·ααΈααΌαααααα) ααΎαα‘αΎααααα‘ααααΈααααΆααααα·αααααΎααΆααααααααααΆααα ααΆααααααααΆαα αααΆαααααααα αααα½αααααΆα α αΎαα₯α‘αΌααααααΎααααα»αααααΎααΆααααααααααΎαααααΆαααααα αααααααααααααααααα ααααΆαααααααααααααΆααααααΈ (ααΆαα½ααα·ααΈααΆααααααααΆα)α
α ααα»α’αααΈααΆααααααααΆααΌααααααα?
ααΆαβαααα αΆβααΆβα
αααΎαβαα
βααΆαβααααΌαβαααβααααΎβα²ααβααΎαβααβα
α»αα
- ααΎαα
ααααααααα·ααααααα’αααΈα’αααααααΎααααΆαα α§ααααα αα·αααΆααααααααααΆααααΈααΌαααααΆααα·αααααααααααααααααα
ααΆαα½αα ααΎααααΈααααΎααΌα
αααα ααΎαααααΌααααααααΆααΆα αα·αααΆαααααΎααααΆααααΆααα’ααααΈ int identifier αα
ααΆαα UUId identifier ααα (ααααΈαααα ααΎαααΆαααααΎααΆαααΌααααα‘αΎααα·α
Roman Bukin "Uuid - ααΏααααααα ααΆααααααααααΌα αα½α" αα·ααααααααααααααΎαα αααα»αααααΆα ) ααΆααααααΆαα»ααα·ααααααα’αααααααΎααααΆαα (α αΆααααΆααααΈαααααΆααααααΆαααααΆαααααα½α) ααΆαααααααααααααααΆ α αΎααααααΆαααααααααα½αα ααα½α α αΆαααΆα αααααΌααααααΆαα»αααΆαααα‘ααααΈααααΆα ααα»ααααααααΌαααααΆαααααααααΆααα’αααααααΎααααΆαααααα - ααΆααΆαααΆα αααΎααα αααα»αααΌαααααΆααα·ααααααααΆαααααααΆααααααααα’αααΈα’αααααααΎααααΆαααααααααΎααααα·ααααα·ααΆαα ααααααααΌαα±ααααΆαααααααΆααααααα ααΎααααΈααΆααΆααΆαααΌαααΆααααΈαααααΆααααααΆα
- αααααΆααααΈααΆααααααΎαααααΆαααα API ααΆαααααααααΌααα·αααααα·α αααα α ααααΆαααααααα αααααααααα½αααααααααα α§αααααααααΌαααααΌαααααΎαα‘αΎααααΆααααΌααααααΆααα’αααααααΎααααΆαα αα·αααααΌαααΆαααΆαααΆααααααα
αααααααΆααααααααΆααααΆαα α»ααααααα§ααααααα αααα»αα αΆαααΈα αααΆα
ααααΆααααααααααΌαα
αααααΆααααΈααΆααααααααααΆαααααααααΆαα αα·αα§αααααα
ααΆαααααααααΆαα. αααααΆααααααΆα 2020 ααΎααααα»αααααΎααΆαααΎααααααααΈαα Auth αααααα’ααααΎαααααααΆαααΆαα’αα»ααααΆα OAuth 2.0 α αααααααΆαααααα·αααΆαααα»αααααΆα ααα»ααααααΆααααααααααααααΆααααΆααααααΎαααααΆαααααααααααααΆααααΈα
α»ααααα
ααα αα
αααα»αα’ααααα "
ααΎ Tracker ααααΎα’αααΈ?
α₯α‘αΌααααα’αααΈααΈααΈαααααααΆαααααααααΆααααα»αα αααααα·ααΈααΆαααΆαααΆααα½ααΆααΈααΈαα
- αααααΆααα·αααα ααΆααα·α αα ααααααΆααΊααΎααααΈαααα αΆααα»ααααα·ααα αααα»αααααααΆαααΌαα’αααΈαααααΆααααααΆαα·ααααα»αααααΎαααΆα ααΎααα·αααα’αααΈαααααααΌααααα αα₯α‘αΌααααα
- αααααΆααααααααΎααΈααΈααααααΎαααΆαααΆααα’αααα αααα»αααααααΆαα
αα
ααααααααα·αααααααΈ (α§ααΆα ααα ααΈα αααΆ) ααα
α‘αΎααααα»αααΆααααααΆαα·α ααΆαα
ααααΆααΈαααΆαααΆα "αααα" α αα
ααααΆααΈαααααααΆαα’αααααα·αααΈα αααΆααααααααααααΆαααα ααααααααΌαααΆα α αΎαααααααΆα
αα αααααΆααααααΆααααΆααααααΆααααΎααααααααααααα·ααΈααΆαααΆαααΆααΆααααΆααααααααΆααα·α
αα
ααααααΆαα α αΎααααααΌαααΌαααααΆααααα
αααααααα
αααα
ααααΆααΈααααααΆαα - "ααΆαααααα" .
αα ααΈααα α’αααααα·αααΈα αααΆαααααΆααααΆααααΎααΈα αααΆ αααααΆαααααααααΆααααΎαααααααααΆααΆααααΆααααα αααα·α αα ααΆαααααααΆαα α αΎαααΆααααΈα αααΆαα αααα»αα‘ (αααααααΆααααΆααΈααααΆα ααααα‘αααααα αΆαααΆα αααααΌααααααΆαααα ααΎαα»αααααΌαααααααα)α ααααααααααααααααΆαααααααΆαααΆααααΈααΎαααααΌααα Dodo αα·αααΆααααΈααΎαααααΌααα Dodo IS α ααΆα’αα»ααααΆαα±ααα’αααααΆαααΆααααΆααααααα αα·αααααΎααΈααΈααααααα·ααααα·ααΆαααΆααα’ααα ααΎαααΈααα αααααα·ααΈααΆαααΆαααααΆαααΈαααααααα αααα·αααααΆααααΆαααα½α α’αα»ααααααααααααα·αααααΈαα½ααααΆααααααααΆαααααα·αααααααΆ αααααΆαα»ααααααααΆα ααα’α·αα’αΆα αΆαααα’αααα»ααααααΆααααα·ααα αα·αααΆαααΆαααααα·ααααα·ααΆαααΆααα’αααα ααΎααα·αααα
αααααΊααΆα’αααΈαααα’αααααααα»αααααΌααααααααααΎααα ααΌα αα ααααΆααΈααααΆαααΆα Raskatkaα
ααΎααααα»αααααΈααΆ?
ααΈα αααΆααΈαα½ααααΆααααα ααααααΆαααααΆαααααααΆααααααα·ααΈααΆαααΆαα αα ααααΆα 2016 ααΎαααΆαααΈα αααΆααΆα 100 (α αΎαα₯α‘αΌααααααΆαα αααΎαααΆα 600) α αααααααααΈαα½ααααααΎααΆαααααΎαα»ααα ααΆαααααααααΆαααααααααααΆαα 10 αα·ααΆααΈ α αΎααααααΌααα·ααααααααΈααΆααΆααααααΆαα·α (ααααΆααααΆαα½αα’αα·αα·αα αα·αα’αΆααααααΆα) αααΆαααΆαααααΆααααααΆαα·α (αααααααΆααααΆαα½αααα·ααα αα·αααΆαα ααα’α»ααααα αΆαααα·ααΆα) αα·αααΆααΆαααΎαααΉαα α·ααα (ααΆααΆαααΆα αααααααΆααααΆαα α»α ) α αα αααααααααα»αα αα»αααα·αααΈα αααΆα α»α ααΎααα·ααααα ααΎαααααα·ααΈααΆαααΆα αααααααααΆαα αααα»αααΆααΆαααΆααα’αααααααααΌαααΆαααααΎαα αα α»ααααααααΆαα ααΆααΆααααααΆαα·αααΊααΌαα ααΆαααα»ααααααααΆαααααΆααΆααα·ααΆα αΆααΉααα αααααα½αααααΆααααααΆαα·α ααΆαααααΎαα αα α»ααααααααΆαααΈααααααααααααααααααααααα αα·αααΆαα’αΆαααΆα αααΎαα§ααΆα ααααα ααΎααΌαααααααααααααα½ααααα»αα αΆαααΈα αααΆ αα·ααααα αΆαααΆααααααΆαα·ααααααααααα½α ααΆααααα αααα’αα·αα·ααα
αααα»αα’αα‘α»ααααααααΆαααααΌααΆαα½αααααα»α αα ααααααα’αααΈαααααααααΆα αα·αααα»ααααααααααΌαααααΌαααΆααααα»ααααα»αααααΆαααααααΆαα αα·αααααααα ααΆαα ααααααααΌαααααΆααα·ααααααα’ααααΆα ααααα·ααααα·ααΆαααΆαααααααΆαα½ααααααα·ααΈααΆαααΆααααααα ααΌαααααΆααα·ααααααααα αα·ααα½αααΆαααΆαααΊααααΆααα ααΈααααα αα·ααααααααααΌαααααΆαααααα αα·αααααΆααααααα·αα’αΆα ααα½αααααΆαααα
ααααα αααααααΆααΆα αα·ααα·αα·ααααααααΆαααααα½αααααααΎααα ααΎαα½αααΆαα·αα’αα»ααααΆαα±ααααΎαααααααααα½αααΆααααΆαααααααααααααααααααΌααααααΆααααΆαααααΎααααΆααααααααΎαα ααΆα§ααΆα ααα ααΆα’αΆα ααΆαααααα·αααααΆααααααΆααα’αααααΆαααΆααααα»αααΆαααΆααα·αα·αααααααααΆααααΈα αααΆαα ααΎααΆααΆααααααΆαα·αααααααΆα ααΎαααααααα»αα ααααΆααααααΆαα·αααΈα αααΆααΈααΌαααααΆααα·αααααααααααα·ααΈααΆαααΆαα αααα»ααααααΆαα½αααααΆααα ααΎααααΈααα½αααααΆααααααΆαα·α ααΆαα·αααααΆααααα»ααααΆααα αααααΈα αααΆαααααΆααααΆααααα α’αααΈαααααααΆααααΆαααααα ααααααααΊααΆ ααΎα’αα·αα·αααα½αααΆααΆαααααΎααΆααααααΆαα·ααααα αααααΆααααααΆααααΌαααααΆαααααααααααα ααΎαααΆαααΈααααααα ααΆαααα·αα αΆαααΆα ααααααΆααα’αααααΆαααΆαααΎααααΈαααααΆαα»αααααααααΆαααααααααΆαααααααααΆαααααα»ααα α¬ααΆαααααααααααΆαααααΆαααααααΆαααααααΆααααααΉαααΆααααααΆαα·ααα αααα»αααΆααΆααααααΆαα·ααααααα ααααΆααααααΆαααΆαααααααΎααα·αα αΆααα’αΆααααααααΎααααααΆααααααα αα αααα»αααΌαααααΆααα·αααααα monolithic ααααααΆ ααΆααΆαα’αΆα ααααΆααααααΆααΆααααααααααα½ααααΆαα’αααααααΎααααΆααααΆααα’ααα αααααΊααΆαααα αΆααΎααα½αα
WAS ααααΌαααααΆααααααααααΊααΌα ααα:
αααααΈααΆαααααΆααααΈααααΌαααΆαααααααα
ααΆααααΎαααΆαααΆα
ααααα‘ααααααα ααΌαααααΆαααΌαααΆαα
αααΎααα
ααααΆααΏαααααααΆαααααΆααααααΆααααααααααα α’αααΈααααααααΆααα
αααααα§ααααααααααΆααααΌαααΆαααααα½αααααα½αα αΎαααααα
αααα»αααααΆαααα½αα αα·ααΈααΆαααααααΌαα
ααααααΆαααα ααααΆαα αα·αααΌαααααΆααα·ααααααααΌαα
αααααΆαααΆααΆαααΌαα
ααααΌαααΆαααααΎααααΆααα
αααα»ααααα»ααααααα·ααΈααΆαααΆα
αααα αΆα ααααααΆαα½ααααααα·ααΈααΆαααΆαααΊααΆαα·ααααααααααΌαααααααΎααααΆααααααααΆαααΌαααααΆααα·ααααααααααααααααΆα αααααααΆααΆααα»αααααΆααααααΆααααααααΆααΈααΆααααα ααααααΆαααααααααααααΆααααααα ααααΆαα αα·αααααΆαααΆαααααααΆα’αΆα ααααΆααααααΌα α αΎααα½αααααααΌαααΆααααα αΆααα αααα»αααααΆααααααααααα
ααΎαααα½αααααΆααααααΆαα·ααα αααααΈαααααΆα Checkout (αααααΊααΆααααΆαααα) ααΆααααΌαααΆααααααΆαα»ααααα»αααΌαααααΆααα·αααααααα αααα»αααααΆαααΆα "ααα½ααα" α αααααΆααααΈααα ααΆαα½ααααα ααΆαααααααα·ααΈααΆαααΆα αααααΆααΉαααααΆααααααΌαααααΆαααΆαααααααΆα αααΎααααααα ααΈ "ααααααΆα" αα "ααα αα"α αααα»αααααΈααα α₯αααα·ααααΆααααα αα½αα ααα½αααΈ Cashier α¬α ααα»α αααααΆαααααααα·ααΈαααααααααααΆαααααΆααααααΌαα’αΆα ααΎαα‘αΎαααΆαα½αααΉαααΆααααααΆαα·αα αααα»αααΉααααααααααΆαααΆαααΆααααααΆαα·αααΆαα½αααΉαααΆααα·αααααΆαααααα½ααααα αααα»αααΆααΆαα
αααααααΆαααααααΆααααααΌαααααΆαααΆαααΆααααααΆαα·αααΎααα
ααΌα
αααα
ααααΆαααΆαααααΆααααααΌααααΆαααααααααααααααα α αΎααα
ααΈααααααααα·ααΈααΆαααΆααα·ααααααΆααααααααα
α»ααααααααααα·ααααααααααΌαααΆαα
αΆαααααααααα ααΎαααΆαααΎααα·ααΈααΆααααααααα’αΆα
ααΎαααΆαααΆα
αααΎααααααΆααααΆαααααααααα½ααα
αααα»αααααΈααααααα
- ααΎααααααΌααααα»ααααααααΆααααααΆαα·αααΆααα’αααα αααα»αααααΆαααααααα½αα αααα»αααααΈααααααΎα αααααΎααααααΆαααΆαααααΆααααα αααΎααααααΎααααΈααααΎαααΆαααΆααααααΆαα·αα ααΎβααΎαβαααβαα βααΈβααα ααΎαβααΉαβααααΌαβαααα ααβαααβαααααααβααΈααΈαα ααΎαβααΉαβαα·αβααΆαβαααααααΆαβαααα αΆβαααβααα
- αααααααααα½αααααΎααΆαα α
αα
αα½ααααα αααααΎαααΈααΈαααΊαα½αα±ααα
αΆααα’αΆααααααααΆαα ααα»ααααααΆαα½αααΆ ααΆαα α
ααΌαααααα’αΆα
ααααΎαα
ααΆα (
ααΆααααΆαααααΆαααααΎαα ) ααΆααααααΆαααααααΆαααΆαα»ααΊαααααααΆαα αΎαααΆααΆαααααα·ααΆααααα»αααΆααααααααααα - ααΎααααα αααααΉαααα·ααΆααα α αΎαααααΆααααααΈαα½ααααααΆααααααΌαααΆαα½αα’αααααααααααααΆααααααααΉαααα·ααΆαααααΆαααααα ααΆαααααααααααΎαααΈααΈααααΌαααΆαααααΎαααΎααααααααα ααΆαααααΆααααααΆααα’ααα αΆααααααΎαααααΆααααααΌαααααΉαααα·ααΆαααααΆαα½αααααΆα
ααΆααα·ααααααΆααΎαααΆαααααΎαααΎααααααΎαααΈααΈααΆααααααΆαααααα·ααΈααΆαααΆαααΉαααΆαααΌαααααΆααα·ααααααααααΆαααααα½α α αΎααααααΆααααΆααααΆαααααΆααααααΌααα αααα»αααααΆαα ααΆααΉαααααΎααααΉαααα·ααΆαααα’αααΈαααα αΆααα αααααααΆααααααααααααααΉαααΆα α αΎααααααΉαααααΌαααΆααα½ααααα αΌααα αααα»αααΌαααααΆααα·αααααααααααααα ααΎααααΈβααααΎβααΌα αααα ααΎαβααααΌαβααΆαβααααΆβαα½αβα ααα½αβαααβααΆααΆβααΆαβααΌαβααΆαβααααΎβααΆαβαααΆαβααααΆααααα
αα αααααα ααΎαααΆα RabbitMQ αα αααα»αααααα½α α αΎα ααΌα ααααααΆααααααα α α·αααα α»αααααααααα»αααΆαααααΎααααΆααααΆααΆαααα½ααααααΆαααΆαα ααααΆααααΆααααα αΆαααΈααΆαααααΆααααααΌαααααΆααααααΆαα·αααΈα’ααααα·ααα»ααααααΈαααααΆαααΆαααααααααα·ααΈααΆαααΆα αααααΆαααααααααααΆααααΆααααααΌαααααΆαααΆαααααααΆ αα·αααΆααααα αΆαααααααΆαα ααΎα ααα»α αααααΆααααΆααααααΆαα·αααααα’ααααααααααααα ααΆαααααΆαααΆ:
ααααααααΆαααααΆααααααα
ααααΌααααααΆαα·αα
αΆααααααΎαααΈααααΆααααααααααααααΆαα·ααα½αα αααααΆα’ααααα·ααα»ααααααΈαααααΆαα
- ααΆααααααΆαα·αααΊαα½α ααΆααααΆαααααα»ααα Checkout α αΎαααΆαααααααααααααΌαααααΎααΆαα α’αααααΆαααΆαα ααααΉαααα·ααΆααααααα’αααααΆαααΆαααααΌαααΆαααΆαααααΌαααΆααααα ααα
- αααααα·ααΈααΆαααΆα ααα½αααααΆααααααΆαα·α αααααΆαα»αααΆαα αααα»αααΌαααααΆααα·ααααααααααΆαααααα½αααααααΆ αααααΎαααααΉαααα·ααΆααα "αααααΆαα·αααΆαααα½ααααααα’αααααΆαααΆα" α αΎαααααΎααΆαα RMQ α
- α’ααααααααααΆαααΆα αααΎαααΆαααΆααααααααααα»αααααΉαααα·ααΆαααααααΆαααααα½ααα½α α αΎαα αααααΆααααΎα αα½ααααααααΎααααΆαααααααΆαα½αααΌαααααΆααα·αααααα monolithic ααΊααΆαααΆααααααΆααα
- α’ααααααααααΆαααα½αααΆαααααΉαααα·ααΆααα ααααΎαααΎααα·αααααααααααΆαααΆααααααΆαααααααΆααααΆααΈααΆα αααα»αααααΈααααααΎα αααααΊααΆααααΆαααΆαααΆααααααΆαα·α "ααΆαααα½ααααααα’αααααΆαααΆα" αα·αααααΎαα αα α»ααααααααΆαα’αααααΆααααααΆαα·αααααααΆαα αααα»αααΌαααααΆααα·ααααααα ααααα
ααααα·αααΎααααΆααααΆααααααΌαααΆαααΆααααααΆαα·αααΆαα·αααααΈααΆααΆααααααΆαα·α monolithic ααααα½αααα’αΆα α’αΆαααΆααΈααΈααααααααα α§ααΆα ααα αααααΆα’αααΈααα Orders interface αα αααα»α Shift Manager ααααΌαααΆαα
ααααΆααααααααααααααΆααα’ααααα’αΆα
ααΆαααααΉαααα·ααΆααααααααΆααΈαααααα·ααΈααΆαααΆαααααα ααΎααααΈααααΎααααΆααααΆαααααΆαααααα½αααα
ααααα·αααΎαααααΆααααΈαααααααααΆααααααΆαα·αααααΌαααΆααααα
ααα·α ααααΆαααΆαααααααΆααααΆααααααΌαααααΌααα
αααα»αααΌαααααΆααα·ααααααααααααΆ (ααΌαααααΆααα·ααααααααΆαααΆα) α αΎααααααΆααααααααΉαααα·ααΆααα "OrderInWork" ααααΌαααΆααααααΎαααααΆααα ααΆααα
αΌααα
αααα»α RMQ αααααααΈαααααααααααΆααααΌαααΆαααααΎααααΆααααααα
αααα»αααΌαααααΆααα·αααααα monolithic αα·αααααΌαααΆααααααΌααα
ααααΆααααααααααααα ααΆα’αΆα
ααΆααααα αΆαααααααα
ααΆαααααΌαααα ααααααΆααααα’α·αααααααα’αααΈαα½αααΆα’αΆα
ααααΆααα
αααα»ααααΆαααΆααααααα Zhenya Peshkov
ααααΆααααααααα α»αααααααααααΆααααΈααΆαααααΆααααααΌααα αααα»α Auth αα·α Tracker
αααααα: ααααΌαβα‘αΎα αααα»αβααΆαβαααα·αβαααα»αβααΆαβααα ααα ααβαααααααα·βααααΆααα½αβααααΆαβααβαααααααα Dodo IS αα βαααα»αβα’αααααβαα½αα αααα»αβα ααβαα·ααΆαβαααΆαβααΆααβαα ααβα’αααΈβααααΆααααΆαβααβααΆαβαα·ααααααα αααααΆαααΆαααΆααααα αααααΆαα’αααα»ααα·ααααΆαααααΆαα αααα»αααΆαααΉαααΆα’αααΈαααΊαααα»αααααΆα αα·ααα½αα±ααα αΆααα’αΆααααααααΆαααΆαα αααα
ααααααα»ααααα αΆααααΈα’ααααααααααα (α¬αααααααααααΆ) αααααααΆαααααααα αααα»αααΆαααααα·ααααΆαααΆ ααΆαα’αα·ααααααααΆαααααα·αα’αΆα αα αα½α αα ααααα·αααΎααααΆαααΆααααααΆααααααΉαααα·ααΆααααααααα ααΆαααααΉαα‘αΎααα·ααααα’α·α αα·αααΆααα·ααΆαααΎααΆααααααα α α·αααααΈαα»αααααααααΆααααΆααα
αααα»ααααααΉαααΆα’αααααΆαααααΎαααΆααΆααΆααααααααα αα·ααα½αα±ααα αΆααα’αΆαααααααααα»αααΆαααααααααα’αααΈααααΎαααααααΎαα α₯α‘αΌαααααααα»αααααααα»αααΉααααααΎααααααααααΆαα½ααααααααααα Dodo IS ααΎααααΈαα·αααααΆαα αααα»αα’ααααααααααΆααα ααααααα αααα»αααα·αααααα¬ααΆαααααααααα
ααΆαααα’αααααααΎααααΆαααααααΆαα
α»ααααααααα»ααααααααα’αΆα
α
αΌααα½ααααα»αααΆααααααααα·αααα
ααΎααααααα½αααΆαα Dodo IS αααα’αααα αααααααααααα αααα»αα’ααααααααααΆαα?
-
24,1%ααΎαααααααααα Dodo IS (α’α α‘α‘-α’α α‘α₯) α‘α€
-
24,1%αααα αΆααααΌα αα·ααααααααααΆααααααα½ααα (2015-2016) 14
-
20,7%ααααΌααααααααα’αα·αα·ααα facade ααΆαααΎααΌαααααΆα (2016-2017)12
-
36,2%αααααααα·ααααααΆααΈααααΌαα·αααααΆαα (2018-2019) 21
-
44,8%ααΆααααα ααααΆαααΆαα monolith αα·ααααααααΆαααααααΆαααααααα26
-
29,3%α’αααΈαααααΆααααααααααααΆααααΆαα’αα·αααααααααααααα α‘α§
-
19,0%αααα»αβαα·αβα ααβααΉαβα’αααΈβααΆααα’ααβα’αααΈ Dodo IS11
α’αααααααΎααααΆαα 58 ααΆααααΆαααααααααα α’αααααααΎααααΆαα α‘α€ ααΆααααααΌαααΆαα αΆαααΆααα
ααααα: www.habr.com