Histoire de l'architecture Dodo IS: premier monolithe

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:

  1. Dodo IS (2011-2015 ). (You are here)

  2. : .

  3. : (2016-2017 ). (In progress…)

  4. . (2018-2019 ). (In progress…)

  5. . (In progress…)

2011 Dodo IS :

— . - :

  • ;

  • ;

  • ;

  • : , , . 

…

2011:

2012

. , . — 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), - , . :

  • Site — dodopizza.ru.

  • Export: Dodo IS 1C. 

  • Personal — . .

  • fs — . , CDN Akamai. 

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, , , . .

( 2015 2018). « ». , , .

« »? .

2014-2015 .

, , , , . Dodo IS. , , , , «» «» .

, 2014 . , , .

,

. , 2 :

  • , .

  • , , . , ( , ). 

:

Scale up

, , — . . , , .

2014 Azure, « Microsoft Azure». . 

:

ReadReplica . , , , , , (slowly changed domain), , . 2, , .

ReadReplica . , . , . 

(). , , . , -, Redis. , .

, . iis- . RedisCache, , round robin. Redis, , . 

…

… .

, . .




All Articles