7. Dajemy radę!
Monolityczna aplikacja w Symfony
Bartek Kuleszewicz
Przyspieszenie Symfony2
na przykładzie
ZnanyLekarz.pl
05
https://vimeo.com/153816243
8. Wiele aplikacji 1
Message
Price3rd party
integration
Frontend
Backend Admin
Auth
! Bounded context
Cechy architektury wieloaplikacyjnej
!
Duży problem dzielimy na wiele
mniejszych problemów
! Większa autonomia zespołów
9. Wyzwania 1
! Deploy
Cechy architektury wieloaplikacyjnej
! Wiele repozytoriów (?)
! Warstwa sieciowa
! Tranzakcyjność
! Środowisko developerskie
11. Da się, ale…
Symfony
Architektura wieloaplikacyjna w Symfony
" You never need more than one
application in Symfony2"
Fabien Potencier
12. Spróbujmy
Architektura wieloaplikacyjna w Symfony
Symfony 2.8 wprowadziło MicroKernele, co
ułatwia tworzenie wielu aplikacji w jednym
projekcie.
Ale ta możliwość była zawsze
http://jolicode.com/blog/multiple-applications-with-symfony2
18. Struktura 1
! katalog app apps
!
configi indywidualne
i współdzielone
!
bundle indywidualne i
współdzielone
Architektura wieloaplikacyjna w Symfony
19. Nowe problemy 1
! Assety
! Eventy
! Komunikacja między aplikacjami
Architektura wieloaplikacyjna w Symfony
20. API call spider’s web 1
Architektura wieloaplikacyjna w Symfony
Email
Price
3rd party
integration
Frontend
Backend
Auth
21. Message Bus 1
Architektura wieloaplikacyjna w Symfony
Email
Price
3rd party
integration
Frontend
Backend
Auth
message bus
AddOrderCommand
AddedOrderEvent
22. Message Bus 1
Architektura wieloaplikacyjna w Symfony
! Commandy & Eventy asynchroniczne
! Monitoring i debugowanie
!
Łatwość wpinania nowych
aplikacji
24. W praktyce 1
Zmiana architektury z monolitycznej na wielo aplikacyjną
5 112 28
Zespołów Bundli Krajów
1
Aplikacja
25. Hackathon 1
Zmiana architektury z monolitycznej na wielo aplikacyjną
"
"
“Zajmie nam to rok”
“To ma sens?”
“Jak to zrobić”
“Zróbmy to w jeden
dzień!”
28. FrontEnd 1
Architektura wieloaplikacyjna w Symfony
!
Osobna aplikacja i
repozytorium
! Kopiujemy szablony Twig
! Assety z CDN
!
Na razie dla niezalogowanych
ale wprowadzimy SSO*
*https://pl.wikipedia.org/wiki/Pojedyncze_logowanie
! Cache!
! Testy wydajnościowe!
!
Aplikacja szkieletowa
dla kolejnych aplikacji
29. Monolit staje się backendem 1
Zmiana architektury z monolitycznej na wielo aplikacyjną
Backend
Front End
API
SearchEngine
API
Backoffice
API
Queue