Etapowa dekompozycja dziedziczonego monolitu PHP na mikroserwisy
138 przeglądów 0 opinii#42383
Budżet€1 000za projekt
FormatProjekt jednorazowybrak zaliczki
PłatnośćGotówka, Przelew bankowy
Odpowiedzi akceptowaneOkres odpowiedzi minąłdo 24.09.2026
Odpowiedzi0średnia w kategorii: 0,3
Widoki1384 w ciągu 14 dni
Opis projektu
Przetłumaczone
Mamy dużą aplikację dziedziczną w PHP, która z biegiem lat stała się jednym monolitem. W jednej bazie kodu i jednej bazie danych żyją autoryzacja, fakturowanie, katalog, powiadomienia i raporty. System stał się trudny do skalowania pod obciążeniem i bolesny do wdrożenia: każda drobna zmiana wymusza ponowne wdrożenie wszystkiego, a jedno wolne zapytanie spowalnia nawet funkcje niezwiązane z nim. Ryzykowne "przepisywanie od zera" nie działa dla nas. Potrzebujemy starannej, etapowej migracji, w której produkt nadal działa i przynosi zyski na każdym etapie.
Podstawą pracy jest analiza przed kodem. Oczekujemy, że opiszesz obecne zachowanie, zidentyfikujesz wyraźne ograniczone konteksty i wspólnie z nami określisz, który moduł jest najbezpieczniejszy do wydobycia jako pierwszy. Każda usługa powinna działać za wyraźnym kontraktem API, a granica powinna być wprowadzana stopniowo, abyśmy mogli cofnąć się, jeśli coś pójdzie nie tak. Potrzebujemy również asynchronicznej kolejki wiadomości, aby wolne i nagłe zadania nie blokowały żądań użytkowników, oraz kontenerów, aby usługa mogła być budowana, testowana i wdrażana osobno.
Proszę zaproponować etapowy plan działania, a nie jeden skok. Realistyczny plan dla nas zaczyna się od izolacji jednego kontekstu o niskim ryzyku, uruchomienia go równolegle z monolitem, pomiaru wyniku, a dopiero potem przejścia do przodu. Uczciwe kompromisy i jasne wyjaśnienia mają większe znaczenie niż modne słowa.
Zakres pierwszej fazy: — Opisz obecne moduły i wybierz pierwszy kontekst do wydobycia. — Ustal kontrakt API i połącz go z monolitem za pomocą przełącznika. — Wprowadź kolejkę wiadomości dla jednego asynchronicznego scenariusza. — Konteneryzuj wydobytą usługę z powtarzalnymi kompilacjami.