Avatar billede sylvesternielsen Nybegynder
03. maj 2005 - 00:48 Der er 3 kommentarer og
1 løsning

Opbygning af framework til krævende sites

Jeg har udviklet første version af et framework som skal bruges i forbindelse med udskiftning af et backend til nogle af vores eksisterende sites.

Backendet skal være meget generisk i den forstand at det skal være muligt at tilføje/fjerne moduler som så mange cms systemer kan det idag.

Backendet skal også have mulighed for at håndtere f.eks. crons mm.

Jeg har derfor udviklet systemet så jeg har en kerne hvorpå jeg starter alle mine objekter med en refference til kernen.
På den måde kan man nemt definere afhængigheder mellem modulerne.

Der skal så laves nogle moduler som f.eks. håndtere input, som f.eks. en url, argv fra cron ell.
Kernen håndtere så databehandling og gemmer data i mine datacontainers.
Herefter køres der et output modul som specificere hvordan mit output skal genereres. F.eks. html, xml, rss osv.

Det jeg er interesseret i at vide er om min model lyder til at være fornuftigt opbygget, eller om der er nogen som har erfaringer med noget lignende og muligvis ved hvor der kan opstå flaskehalse i et sådan system.
Avatar billede olebole Juniormester
03. maj 2005 - 08:28 #1
<ole>

Om det er en fornuftig opbygning er svært at sige. Det kommer anpå, hvad det skal bruges til. At opbygge én generisk model er yderst sjældent en fordel ... det svarer lidt til at lave én skomodel/-størrelse til alle fødder - og så hugge fødderne brutalt til, så de passer i skoen  :)

En ting, der ofte skaber flaskehalse, er brug af databaser. Der er ganske brugbare, men er *vildt* overbrugt. Hvis en side ikke bliver opdateret oftere end en gang i timen, er det jo tåbeligt at sinke brugeren med at skulle hente noget i DB. Den kan ligeså godt være cached i en 'hård' fil på serveren.
En anden pine i nakken er template-systemer. De fungerer sjældent synderlig godt, men trækker ofte performance væsentligt ned.

Til gengæld er det sjældent populært at komme med den slags betragtninger. Når folk først har opdaget DB'en og finder ud af, man kan lave 'generiske' løsninger, tror mange, den slags ubetinget er lykken.
    For en mand med en ny hammer kommer alt til at ligne søm  ;o)

Generiske løsninger er billige - men bidrager yderst sjældent med øget kvallitet. Er man til Lørdagskylling og Fun læskedrik, kan man roligt kaste sig ud i større, generiske løsninger. Er man til kvallitet, bør man nok gå i retning af individuelt kodede løsninger.
- men som altid ligger der en god vej mellem to dybe grøfter  :)

/mvh
</bole>
Avatar billede sylvesternielsen Nybegynder
03. maj 2005 - 13:09 #2
Nu vil jeg ikke afsløre for meget om hvad det er jeg laver.

Men kan da afsløre at den ene af portalerne har ca. 22 mill. sidevisninger om måneden og snart 2 mill. indlæg i forummet.

Så det er MEGET databasekrævende.
Vi har forsøgt med lidt cache, men da der kommer 2-3 indlæg i minuttet kunne det ikke rigtigt betale sig.

Grunden til at den skal være generisk er at portalen skal udvides til flere portaler og der bliver nok en fordobling i hits i løbet af kort tid.
Avatar billede sylvesternielsen Nybegynder
17. maj 2005 - 16:21 #3
Jeg er nu blevet færdig med basen af mit framework som producere glimrende resultater selv uden cache osv.

Men jeg takker da for din kommentar til spørgsmålet.

Vil du have point må du lige smide et svar. :D
Avatar billede sylvesternielsen Nybegynder
19. maj 2005 - 18:18 #4
Jeg lukker igen. Du må sige til hvis du vil have de point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester