Ou chaque entreprise malheureuse avec un monolithe est malheureuse à sa manière.
Le développement du système Dodo IS a commencé immédiatement, tout comme l'activité Dodo Pizza - en 2011. Elle reposait sur l'idée d'une numérisation complète et totale des processus métier, et sur la nôtre , ce qui, même alors en 2011, a suscité de nombreuses interrogations et scepticisme. Mais depuis 9 ans maintenant, nous suivons cette voie - avec notre propre développement, qui a commencé avec un monolithe.
Cet article est la "réponse" aux questions "Pourquoi réécrire l'architecture et faire des changements à grande échelle et à long terme?" reportez-vous à l'article précédent "Histoire de l'architecture Dodo IS: le chemin du back-office" . Je vais commencer par comment le développement de Dodo IS a commencé, à quoi ressemblait l'architecture d'origine, comment les nouveaux modules sont apparus et quels problèmes ont provoqué des changements à grande échelle.
Qu'est-ce que Dodo IS? SĂ©rie d'articles vous parlera de:
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, , .
…
… .
, . .