Atau setiap perusahaan yang tidak bahagia dengan monolit tidak bahagia dengan caranya sendiri.
Pengembangan sistem Dodo IS segera dimulai, seperti halnya bisnis Dodo Pizza - pada tahun 2011. Hal tersebut didasari oleh gagasan digitalisasi proses bisnis yang lengkap dan total, dan kita sendiri , yang bahkan pada tahun 2011 ini menimbulkan banyak pertanyaan dan keraguan. Tapi selama 9 tahun sekarang kami telah mengikuti jalan ini - dengan perkembangan kami sendiri, yang dimulai dengan monolit.
Artikel ini adalah "jawaban" untuk pertanyaan "Mengapa menulis ulang arsitektur dan membuat perubahan skala besar dan jangka panjang?" mengacu pada artikel sebelumnya "Sejarah Arsitektur Dodo IS: Jalur Back Office" . Saya akan mulai dengan bagaimana pengembangan Dodo IS dimulai, seperti apa arsitektur aslinya, bagaimana modul baru muncul, dan masalah apa yang menyebabkan perubahan skala besar.
Apa itu Dodo IS? Seri artikel akan memberi tahu Anda tentang:
Dodo IS (2011-2015 ). (You are here)
: .
: (2016-2017 ). (In progress…)
. (2018-2019 ). (In progress…)
. (In progress…)
2011 Dodo IS :
— . - :
;
;
;
: , , .
…
2011:
. , . — 2 , .
:
Backend ASP.NET MVC, C#. , .
Bootstrap JQuery: .
MySQL: , .
Windows Server, .NET Windows (Mono ).
« ».
, SOA 5 , , WCF 2006 . .
.
Asp.Net MVC — Razor, HTML- . CSS JS- , , AJAX- JQuery.
*Controller, HTML-. , *Services. - :
, DepartmentStructureService , . — .
ReceivingOrdersService .
SmsService , API- .
, -. *Repository . . -, , . , sql.
-, , Order, . , , .
:
.
. , — « — ». flow:
, , .
, .
.
.
.
. - . draft- ( ). Cart, .
, +
, . .
. , , . .
.
« »:
OrderController.SaveOrder().
Cart , .
Cart AddOrder ReceivingOrderService, .
, , .
.
. , . — 2012 2015 . , , .
— , - -. .
Area ( asp.net core). , , . ...
… :
(executable project), - , . :
BackOffice.
:
Cashier — .
ShiftManager — « »: , - , .
OfficeManager — « » «». , , , .
PublicScreens — , . , , .
, Dodo.Core, . . , dodopizza.ru personal.dodopizza.ru.
, .
, , 2012 :
2015 .
, .
, .
, « » , . , .
, , . .
2012 2015 10 , 35 , . , . .
- ( ).
— . , , . , , .
4 600 , 1500 , . , MySQL. , . .
, -, , , . 20 — 3-5 .
. - . XML-, , .
. , orders pizzeria. , . (dodopizza.ru), .
. .
, . - bulk-, - , .
, , . . , , , «» ( ), « » ( ). , , .
( ) .
-, , . - , . - . , .
, .
, , .
. , . . . , . JQuery , ().
- , . , Redis CosmosDB .
, , , . , . 5 , 10, , . ( 2017, 2018 ).
, , . , , , .
, - : , , , , . .
( ) , , . , 2015 .
« » , . API Dodo, . http://dodopizzastory.com/. 20 . api.dodopizza.ru :
;
;
.
, .
, , . 5 .
:
, . . , API 20 .
API . orders, . . , . , , .
. 2015 . API, , , . .
« »? .
2014-2015 .
, , , , . Dodo IS. , , , , «» «» .
, 2014 . , , .
,
. , 2 :
:
Scale up
, , — . . , , .
2014 Azure, « Microsoft Azure». .
:
ReadReplica . , , , , , (slowly changed domain), , . 2, , .
ReadReplica . , . , .
(). , , . , -, Redis. , .
, . iis- . RedisCache, , round robin. Redis, , .
…
… .
, . .