M
M
maxxxixxxx2014-07-18 20:36:06
PHP
maxxxixxxx, 2014-07-18 20:36:06

What to write chats like in VK?

Planned attendance of the resource from ~2000 to ~50000.
1/3 of attendance is chatting like in VK.
Constant reconciliation with the base for new messages and notifications. (equal to 1/2 the attendance)
What is the easiest language to do this in?
Where to store data?
Based on php, mysql.

Answer the question

In order to leave comments, you need to log in

8 answer(s)
D
Dmitry Entelis, 2014-07-18
@DmitriyEntelis

They did it on php + mysql - it turned out somehow not very well.
Changed to node.js + socket.io + redis + mysql (history) - it became noticeably better.

S
Sergey, 2014-07-18
@begemot_sun

Look towards Erlang - ideal

L
lnked, 2014-07-19
@lnked

I did this on node js + socket.io + mysql
Initially, I started in a bunch of node js + jabber, but I don’t remember why jabber was abandoned in the direction of mysql

A
Armengrigoryan, 2014-07-24
@Armengrigoryan

I advise you to write on node.js and use mongodb for the base, but you can use sockets without them there will not be a special load, but you can wash and use the ready-made easyrtc module for node there and there is a message chat and video chat and other convenience and documentation is more or less normal

E
Evgeny Lavrentiev, 2014-07-18
@lavrentiev

yes it is possible in mysql. In general, somehow there was an idea to raise a jabber server and use it as a chat of personal correspondence.

P
Pavel Ivanov, 2014-07-19
@eastywest

Use ReactPHP

V
Vlad Zhivotnev, 2014-07-19
@inkvizitor68sl

Front - NodeJS is now fashionable to write for this. Backend - correctly advise on erlang. And it’s better not to show off and use ejabberd inside, which clusters out of the box.

D
deshaser, 2014-07-24
@deshaser

I support the previous commentators and add: on the client, I advise you to use any available framework (Angular, Bootstrap, etc.)
Because without it, doing something complicated on the client will be a hassle.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question