Приложение с большим кол-ом пользователей, наподобие ICQ

IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.

Модератор: kdv

Ответить
Zhekius
Сообщения: 25
Зарегистрирован: 08 июл 2008, 14:57

Приложение с большим кол-ом пользователей, наподобие ICQ

Сообщение Zhekius » 08 июл 2008, 21:25

Люди добрые. Есть идея сделать одно приложение, где количество пользователей может быть очень велико (возможно больше 10000). Архитектура такая: есть сервер с FB. К нему по сети с других станций будут подключаться пользователи с клиентским приложением. Протокол связи может быть HTTP, FTP, HTTPS и др. Коннект по интервалам, чтобы не грузить сеть и сервер. У меня возникло несколько основных проблем:
1. Как организовать огромное кол-во пользователей (ролями; или как-нить аккаунтом, как я не знаю)
2. Сколько может быть пользователей зарегестрировано на базе FB
3. Есть ли какие нить программные модули (не PHP.. а может и PHP, не работал, не буду голословным), которые можно поставить на стороне сервера как буфер или связующее звено, чтобы клиент как-то по более простому общался
4. Целесообразно ли такое? Ведь пользователи могут регистрироваться по несколько десятков в день. Вот как сделать такую регистрацию???
Лично у меня несколько идей есть. Но охота выслушать ваши )) Если есть что интересное, пожалуйста напишите, очень прошу

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 08 июл 2008, 21:45

- не выставлять FB в сеть напрямую.
- поднять WEB сервер
- написать прослойку, которая ОДНА будет коннектиться к БД, и собственно давать данные клиенту

Zhekius
Сообщения: 25
Зарегистрирован: 08 июл 2008, 14:57

Сообщение Zhekius » 09 июл 2008, 11:33

WildSery писал(а):- не выставлять FB в сеть напрямую.
- поднять WEB сервер
- написать прослойку, которая ОДНА будет коннектиться к БД, и собственно давать данные клиенту
Пасибочки за совет. А есть какие-нить ссылочки иль статейки насчет написания такой прослойки? Так в остальном всё ясно )

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 09 июл 2008, 11:47

Я таких статей не встречал.
Тут появляются иногда коллеги, занимающиеся такими вещами, типа игровых серверов, может, чего подскажут.
Начинать, наверное, нужно с изучения трёхзвенной архитектуры, уж она-то в книжках точно есть.

armagedon2007
Сообщения: 44
Зарегистрирован: 14 мар 2008, 21:01

Сообщение armagedon2007 » 09 июл 2008, 14:53

А на чем писать собрался?
В дельфях есть стандартные компоненты или Indy
а я немного для других целей использовал Indy через UDP

Zhekius
Сообщения: 25
Зарегистрирован: 08 июл 2008, 14:57

Сообщение Zhekius » 09 июл 2008, 17:19

armagedon2007 писал(а):А на чем писать собрался?
В дельфях есть стандартные компоненты или Indy
а я немного для других целей использовал Indy через UDP
скорее всего на Дельфях, возможно даже через Delphi BOLD, но это не важно. Важно организовать саму структуру, чтобы по ней потом кодить.
Для меня основная загвоздка - как организовать прослойку (см выше), и как себя будет вести сервер FB при конекте и обновлении данных на нем при одновременном конекте на несколько сот человек. Ессесно - при конекте через одного какого нить зарегистрированного пользователя. Какие могут быть идеи, рекомендации в этом плане, советы... Жду )) Спасибо за внимание.

Merlin
Динозавр IB/FB
Сообщения: 1502
Зарегистрирован: 27 окт 2004, 11:44

Сообщение Merlin » 09 июл 2008, 17:40

Дельфёвая дока, главы про multy-tier applications.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 09 июл 2008, 17:45

как себя будет вести сервер FB при конекте и обновлении данных на нем при одновременном конекте на несколько сот человек.
ничего такого. 300-400 одновременных пользователей ФБ обрабатывает без проблем.
Другое дело, как будет вести себя создаваемая тобой трехзвенка. Потому что
а) снаружи будут сотни коннектов
б) к ФБ будет пул из пары десятков коннектов

Zhekius
Сообщения: 25
Зарегистрирован: 08 июл 2008, 14:57

Сообщение Zhekius » 10 июл 2008, 22:14

kdv писал(а):
как себя будет вести сервер FB при конекте и обновлении данных на нем при одновременном конекте на несколько сот человек.
ничего такого. 300-400 одновременных пользователей ФБ обрабатывает без проблем.
Другое дело, как будет вести себя создаваемая тобой трехзвенка. Потому что
а) снаружи будут сотни коннектов
б) к ФБ будет пул из пары десятков коннектов
Благодарю за советы )).
Тогда такой еще вопрос: есть у кого нить литература, статьи, ссылки на информацию по поводу организации таких "пулов" для баз. Мне бы уже в конкретику влезть, потому что с общей схемой разобрался: собираюсь делать по вашим советам ) Оценил все ЗА и ПРОТИВ, и пока так вот решил. Буду очень признателен за инфу. Спасибо за внимание.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 10 июл 2008, 23:58

ссылки на информацию по поводу организации таких "пулов" для баз
если берется готовый движок трехзвенки (типа php, например), то пул коннектов уже там. Если нет - реализуется самостоятельно. После прочтения статей на тему "пул коннектов".
Еще бывают драйверы с пулами коннектов. В общем, тебе по трехзвенке надо читать все что попадется.

Zhekius
Сообщения: 25
Зарегистрирован: 08 июл 2008, 14:57

Сообщение Zhekius » 11 июл 2008, 07:25

Благодарю. Очень рад, что оформились сами термины. Буду читать. На эту тему вопросов больше нет :D

Ответить