O toda empresa infeliz con un monolito es infeliz a su manera.
El desarrollo del sistema Dodo IS comenzó de inmediato, al igual que el negocio de Dodo Pizza, en 2011. Se basó en la idea de una digitalización completa y total de los procesos de negocio, y en la nuestra , que incluso entonces en 2011 suscitó muchas preguntas y escepticismo. Pero durante 9 años hemos seguido este camino, con nuestro propio desarrollo, que comenzó con un monolito.
Este artículo es la "respuesta" a las preguntas "¿Por qué reescribir la arquitectura y realizar cambios a gran escala ya largo plazo?" consulte el artículo anterior "Historia de la arquitectura Dodo IS: el camino del back office" . Comenzaré con cómo comenzó el desarrollo de Dodo IS, cómo se veía la arquitectura original, cómo aparecieron los nuevos módulos y qué problemas causaron cambios a gran escala.
¿Qué es Dodo IS? Serie de artículos le informará sobre:
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, , .
…
… .
, . .