Wie wir den Monolithen gesägt haben. Teil 1

Hallo, ich heiße Vanya. Ich löse architektonische Probleme am Frontend in Tinkoff Business und erzähle Ihnen jetzt von einem davon.

Vor einigen Jahren hatten wir eine große monolithische Anwendung, die im Laufe der Zeit zu einem Dutzend kleinerer geworden ist. In diesem Artikel werde ich Ihnen sagen, welche Probleme wir regelmäßig im Monolithen hatten, wie wir sie gelöst haben und ob es sich lohnt, unser Frontend zu "sägen".

Synchronisation

«» , , -. , iframe . .

(- ), . , -.

Ein grobes Diagramm einer monolithischen Frontend-Anwendung
-

, : « - !». .

?

, , - . :

,

, .

TBD -

, — , —

, .

(ownership) . , . - 5, 10, - (),

, . , , -

, . git flow

— , state-, , , . « »

, , , , .

— - ?

— . , , .

? :)

, , , .

, . , ( ). : 

  1. , - ,

  2. : - —

, , codemod . 100%

, —

- , , . ,

-

, «» , . , , , - , «» , .

?

- , :-) , :

  • . -, . Frame Manager, .

  • . , , window.myVar .my-bar. , - . , .

  • . : . vendor.js , vendor1.js, vendor2.js . . , — . № 4, , , url' .

, , , , , . : , ?

. , :

  1. . , . , , . , .

  2. foundation. () libs . : - , ?

  3. SPA. SPA, , , , , . , . , Frame Manager, . , , . : window.myVar, localStorage, sessionStorage, CustomEvent, postMessage .

  4. (SSR), . . . , , iframe, SSR.

.

. . , npm-. 

, , - , , , . : « , , ?» :

  • . , ? , . ?

  • .

  • ci pipeline, .

: Nx. apps/, libs/. , . ci pipeline pipeline , IaC.

tl;dr

, Frame Manager.

Schema der Kundeninteraktion mit Mikrofront-End

. , . tips&tricks, :

  1. , ? , , , , , :)

  2. «», . , , , , , , .

  3. , . -, , — , , : .

  4. — , , , . /.

  5. , . , , , . , .

P. S.

, , , , , .

.




All Articles