Multi kernelowa aplikacja w oparciu o Symfony 3 i microkernele
-
Upload
radek-baczynski -
Category
Engineering
-
view
251 -
download
2
Transcript of Multi kernelowa aplikacja w oparciu o Symfony 3 i microkernele
Ilość zainstalowanych bundli
30
60
90
120
2013 2014 2015 2016
BundleAplikacja monolityczna w Symfony
Container, events, routesAplikacja monolityczna w Symfony
~2000 ~ 200 ~ 7500Usług w kontenerze Różych eventów Route
Dlaczego tak?Aplikacja monolityczna w Symfony
!
? Baaardzo szybki wzrost biznesu
21
? FOSElasticaBundle
? I18nRoutingBundle
? Wstępne założenia
Dajemy radę!Monolityczna aplikacja w Symfony
Bartek Kuleszewicz Przyspieszenie Symfony2 na przykładzie ZnanyLekarz.pl
05
https://vimeo.com/153816243
Wiele aplikacji 1
Message
Price3rd party integration
Frontend
Backend AdminAuth
! Bounded context
Cechy architektury wieloaplikacyjnej
!Duży problem dzielimy na wiele mniejszych problemów
! Większa autonomia zespołów
Wyzwania 1
! Deploy
Cechy architektury wieloaplikacyjnej
! Wiele repozytoriów (?)
! Warstwa sieciowa
! Tranzakcyjność
! Środowisko developerskie
Da się, ale…
SymfonyArchitektura wieloaplikacyjna w Symfony
" You never need more than one application in Symfony2"
Fabien Potencier
SpróbujmyArchitektura 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
Struktura 1
! katalog app apps
!configi indywidualne i współdzielone
!bundle indywidualne i współdzielone
Architektura wieloaplikacyjna w Symfony
Nowe problemy 1
! Assety
! Eventy
! Komunikacja między aplikacjami
Architektura wieloaplikacyjna w Symfony
API call spider’s web 1
Architektura wieloaplikacyjna w Symfony
Price
3rd party integration
Frontend
BackendAuth
Message Bus 1
Architektura wieloaplikacyjna w Symfony
Price
3rd party integration
Frontend
BackendAuth
message bus
AddOrderCommandAddedOrderEvent
Message Bus 1
Architektura wieloaplikacyjna w Symfony
! Commandy & Eventy asynchroniczne
! Monitoring i debugowanie
!Łatwość wpinania nowych aplikacji
W praktyce 1
Zmiana architektury z monolitycznej na wielo aplikacyjną
5 112 28Zespołów Bundli Krajów
1Aplikacja
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ń!”
FrontEnd 1
Architektura wieloaplikacyjna w Symfony
! Tylko strona główna
! ~8 godzin Hackathon
!Sprawdzimy co będzie problemem
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
Monolit staje się backendem 1
Zmiana architektury z monolitycznej na wielo aplikacyjną
Backend
Front End
API
SearchEngine
API
Backoffice
API
Queue
Podsumowanie 1
Architektura wieloaplikacyjna w Symfony
! Zrób to na początku
!Jeśli masz dojarzały projekt znasz swoje Bounded Contexts
! Nie ugrzęźnij