Schaalbaarheid - 1-tier vs Multi tier

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Compuhair
  • Registratie: September 2009
  • Laatst online: 17-09 09:14
Ik zat net rond te kijken in de sourcecode van Yet Another Forum. Daarin viel me op dat dit forum in zijn geheel in IIS gaat draaien, als ik het goed heb gezien. Dus zowel de UI, Business Logica en Datalaag draaien op 1 server. De database kan dan wel op zijn eigen server draaien.
De arch. die Yet Another forum (YAF) gebruikt, is een veel voorkomende opzet, waarschijnlijk mede doordat hij redelijk eenvoudig te bouwen is.

Maar nu vroeg ik me af hoe deze architectuur zich verhoudt tot een multi-tier arch. waar de UI draait in IIS, en de business logica en datalaag gescheiden is van de UI. De communicatie tussen deze tiers kan dan bijvoorbeeld middels WCF gebeuren.
Het voordeel van deze arch. is dat iedere server zijn eigen dedicated taak heeft. IIS-server, Application server (business logica, datalaag).

Het schalen van de YAF architectuur gebeurt door een nieuwe server te nemen, IIS te installeren en daar YAF op te draaien. Vervolgens een load balancer ervoor en klaar is Kees (correct me when I'm wrong).

Ik zat er dus zo over na te denken vanochtend, en toen dacht ik eigenlijk: "tja, om een forum schaalbaar te maken, heb je dus eigenlijk helemaal geen ingewikkelde architectuur nodig".

Wat is jullie visie hierop? Is de YAF (1-tier) architectuur uiteindelijk toch minder schaalbaar, of minder performant dan een multi-tier architectuur? Of voorkom je juist een hoop moeilijkheden (in het programmeerwerk) door voor een iets makkelijkere architectuur te kiezen?

Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:37
Compuhair schreef op dinsdag 01 december 2009 @ 09:07:
Maar nu vroeg ik me af hoe deze architectuur zich verhoudt tot een multi-tier arch. waar de UI draait in IIS, en de business logica en datalaag gescheiden is van de UI. De communicatie tussen deze tiers kan dan bijvoorbeeld middels WCF gebeuren.
Tja ...
Ik ben voor het maken van een scheiding tussen UI logic & domain logic, maar wat zou het voordeel zijn om hier nog een extra laagje complexiteit in te bouwen om ook de boel fysiek te gaan scheiden ?
Vergeet niet dat, als je de communicatie tussen die verschillende tiers met bv WCF verzorgt, dat zeker een impact heeft op je performance.

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
whoami schreef op dinsdag 01 december 2009 @ 09:28:

Vergeet niet dat, als je de communicatie tussen die verschillende tiers met bv WCF verzorgt, dat zeker een impact heeft op je performance.
En een extra "point of failure" :) Verder helemaal eensch. En daarbij; het is een forumpje for Christ's sake 8)7

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Boss
  • Registratie: September 1999
  • Laatst online: 23:47

Boss

+1 Overgewaardeerd

Qua software is het toch al netjes multi-tier? Mocht het nou heel druk worden op het forum dan hebben ze het in ieder geval zo opgezet dat het redelijk eenvoudig over verschillende machines is te verdelen.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Acties:
  • 0 Henk 'm!

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 02-06 12:29
Wat RobIII zegt :) een multi tier forum, klinkt als schoolvoorbeeldje van over enginering :)

Driving a cadillac in a fool's parade.


Acties:
  • 0 Henk 'm!

  • Compuhair
  • Registratie: September 2009
  • Laatst online: 17-09 09:14
hmmm het was niet mijn bedoeling om het specifiek over een forum te hebben, waar een architectuur voor gekozen moet worden, maar meer in het algemeen. Multi-tier arch. lijkt me gewoon wat overkill voor de meeste zaken. Misschien als je zo groot bent als bol.com dat het dan een ander verhaal is.

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Multi tier is zeker geen overkill. Dat geldt alleen voor een multi-tier hardware architectuur.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Maar voor een Multi-Tier applicatie hoeven toch niet alle Tier's in een apart proces te draaien. Als je de Tier's Netjes gescheiden houd, kan het perfect allemaal gewoon onder bijvoorbeeld IIS draaien.

Als later blijkt dat een Tier erg veel resources verbruikt, kun je dan kijken om die tier verder af te splitsen en op een andere machine te gaan draaien.

Bij een grote site als bol.com ga je daar natuurlijk al vanaf het begin mee bezig houden.

Ik ken verder YAF niet, maar als ik jouw uitspraak lees
Dus zowel de UI, Business Logica en Datalaag draaien op 1 server.
Is YAF helemaal geen 1-Tier applicatie.

edit:

Wat Janoz zegt dus ;)

[ Voor 3% gewijzigd door Woy op 01-12-2009 10:17 ]

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Acties:
  • 0 Henk 'm!

  • Compuhair
  • Registratie: September 2009
  • Laatst online: 17-09 09:14
Woy schreef op dinsdag 01 december 2009 @ 10:16:
Maar voor een Multi-Tier applicatie hoeven toch niet alle Tier's in een apart proces te draaien. Als je de Tier's Netjes gescheiden houd, kan het perfect allemaal gewoon onder bijvoorbeeld IIS draaien.
Als het allemaal op 1 machine onder IIS draait, dan is het volgens mij 1 tier, maar het kan wel multi layer zijn. Layers zijn logisch, tiers fysiek. (zo heb ik het altijd begrepen)

Acties:
  • 0 Henk 'm!

  • Sijmen
  • Registratie: November 2004
  • Laatst online: 16-05 00:07
Compuhair schreef op dinsdag 01 december 2009 @ 11:01:
[...]

Als het allemaal op 1 machine onder IIS draait, dan is het volgens mij 1 tier, maar het kan wel multi layer zijn. Layers zijn logisch, tiers fysiek. (zo heb ik het altijd begrepen)
Dat is inderdaad ook hoe ik het heb begrepen, ik denk van Fowler's pattern boek.

Ik zie het voordeel van multi-tier ook niet helemaal. Het maakt het ontwikkelen en depoyment een stukje lastiger, terwijl je als je de site zo veel mogelijk stateless houdt je makkelijk er gewoon nog een web/appserver bij kunt zetten.

Acties:
  • 0 Henk 'm!

  • Alex
  • Registratie: Juli 2001
  • Laatst online: 20-08 21:38
* Alex denkt terug aan software on hardware mapping @ school ;)

[ Voor 4% gewijzigd door Alex op 01-12-2009 13:12 ]

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart

Pagina: 1