Social media website

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark Markson

Mark Markson

31/05/2015 01:09:20
Quote Anchor link
Ik ben van plan om een social media website te bouwen (als een project voor school). Ik heb al een databasemodel gemaakt die redelijk ingewikkeld is, hierdoor kan ik niet een tool als MongoDB gebruiken. Voor deze website moet het mogelijk zijn om berichten naar elkaar te sturen en een notificatie te onvangen. Ik heb een beetje onderzoek gedaan en heb gekeken naar:

-Node.js + Socket.io
-Meteor
-Ratchet (PHP websocket library)
-Websockets (script dat gebruikt maakt van PHP websockets, een class)
-Pusher

Welke van deze zouden jullie aanbevelen? Ik heb een stuk of 5 relationele tabellen, dus gebruik maken van iets als Mongo of Moose is (volgens mij) niet mogelijk.

Feitelijk gezien heb ik dus een verbinding nodig die de hele tijd openstaat en zoekt naar updates. Als deze update gevonden is krijgt de gebruiker een notificatie en kan hij het bericht lezen. Ratchet vond ik een beetje omslachtig werken voor wat ik wilde. Node.js en Socket.io maken veel gebruik van MongoDB. Pusher app kost geld, en niet zo'n beetje ook.
Gewijzigd op 31/05/2015 01:16:39 door Mark Markson
 
PHP hulp

PHP hulp

05/11/2024 11:44:40
 
Eddy E

Eddy E

31/05/2015 07:38:27
Quote Anchor link
Waarom niet met Ajax elke 2 seconden laten kijken of er updates zijn, en dan binnenhalen?
Zo doet Twitter (en 9Gag etc) dat ook in hun mobiele apps. Daar vliegen de berichten ook niet continue binnen, maar om de paar seconden (want soms 1, soms 5 berichten, niet 1 voor 1).

Als je echt heel snel je bericht moet zien (in minder dan 1 seconde na posten), dan pas lijkt mij pushen nodig.
Leuk als je verkeersdata oid gaat meten, maar dan komt de informatie van sensoren en niet van mensen (wat berichten wel doen).

Ik ken alleen node.js en socket.io en heb eigenlijk te weinig ervaring met beide om deze af te keuren voor je gebruik. Het zou er waarschijnlijk prima mee gaan.
 
Mark Markson

Mark Markson

08/06/2015 00:51:08
Quote Anchor link
Het probleem als je dat doet is dat je dan net zo goed de pagina kan verversen. Als er 50 mensen online zijn die je applicatie hebben openstaan en je stuur een AJAX request om de 30 secondes, dan kan dit nogal zwaar zijn voor de server. Daarom werk ik liever met iets van websockets (weet nog niet welke technologie ik wil gaan gebruiken hiervoor)...Iets van een verbinding die de hele tijd openstaat en een melding krijg als er iets nieuws is.

Niemand die ervaring heeft met Node.js en de Mysql extension? Ik wil iets van een notificatie systeem maken zonder om de zoveel tijd te moeten kijken met AJAX.

Bedankt voor je reactie, Eddy.
 
- wes  -

- wes -

08/06/2015 13:48:19
Quote Anchor link
50 requests elke 30 seconden moet peanuts zijn voor je server...
 
Eddy E

Eddy E

08/06/2015 20:36:58
Quote Anchor link
Precies.
Een beetje website heeft zo'n 500 requests per seconde...
Elk bestandje is een request.
Open http://www.zunflappie.nl/artikel/166/530-onderdelen-catalogus-#3--touring eens... dat waren 73 request. In 1 seconde. Dat is 1 gebruiker.


Nu heb ik regelmatig 40 bezoekers. Die bekijken 20 van zulke pagina's, meestal binnen 3 minuten.
(40 x 73 x 20) / (3*60)= ... 324 requests per seconde.
Wat is het probleem? Geen!


Wel veel caching uiteraard.
 
Mark Markson

Mark Markson

08/06/2015 22:28:52
Quote Anchor link
Oh, ik dacht dat het de server hevig onder stress zou zetten. Toch is het heel handiger als je een request hebt openstaan tot de user weg is, of niet?
 
- wes  -

- wes -

09/06/2015 09:39:40
Quote Anchor link
Ik zou zeggen begin met een stresstest te bouwen (of gebruik bestaande benchmarktools) om te testen wat je server aankan en beslis op basis van je bevindingen. Maak het jezelf niet te lastig , een server kan best een stootje hebben.
 
Henk de Vriep

Henk de Vriep

09/06/2015 15:54:18
Quote Anchor link
Mark Markson op 08/06/2015 22:28:52:
Oh, ik dacht dat het de server hevig onder stress zou zetten. Toch is het heel handiger als je een request hebt openstaan tot de user weg is, of niet?


Als iets niet per see real time moet zoals bijvoorbeeld een grote chat app zoals omegle of chatroulette dan zou ik fijn kleine ajax requests doen.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.