Sdílení Doctrine Entit a Repositories napříč microservices
- lukashunka
- Bronze Partner | 1
Ahoj všem,
rád bych znal váš názor případně doporučení na best practice.
Máme databázi se kterou v aplikaci pracujeme pomocí Doctrine Entit a repozitářů.
Potřebujeme kvůli zlepšení výkonu některých operací rozkouskovat aplikaci na microservices ale napříč jimi sdílet stejnou strukturu databáze, repozitářů a práci s nimi.
Stahujeme opravdu hodně dat se kterými dále pracujeme a chceme tuto logiku vyčlenit mimo hlavní aplikaci kvůli výkonu a budoucímu rozpadu na microservices s API. Stahování a zpracování dat probíha v rámci RabbitMQ. Pro komunikaci mezi jednotlivými částmi už nyní používáme DTO.
Z mého pohledu se jako nejjednodušší pro implementaci změn napříč
aplikací jeví oddělení Entit a Repozitářů do samostatného balíčku
např aplikace/database
který se do aplikace bude přidávat
pomocí composeru a napíše se proto extension která Entity a Repozitáře do
aplikace přidá.
Existuje jiné / lepší řešení které přehlížím?
- MajklNajt
- Člen | 502
ahoj, myslím, že extrahovať si entity do samostatného balíčku je to najlepšie čo môže byť ako z hľadiska DRY, tak z hľadiska udržateľnosti… možno by som ešte na väzby medzi entitami používal interface, aby si prípadne mohol entity rozhodiť do viacerých nezávislých balíčkov – tak by ti stačilo mať potom nejakú default impelementáciu + blank implementáciu