LINUX.ORG.RU

подскажите по архитектуре сервиса


0

1

бодрого дня всем.

есть такой сервис, под названием liveworkspace.org. сейчас переписываю его для добавления новых возможностей.

мой вопрос в первую очередь является следствием желания предоставить юзерам возможность создавать/читать/писать/удалять файлы. для этого нужна возможность ограничивать суммарный объем созданных пользователем файлов.

одна из идей - создавать реальных пользователей и выставлять им квоты. но этот вариант мне кажется излишним, ибо на самом деле создание юзеров мне нужно только для квот.

вторая идея - создавать файл нужного размера и монтировать его как ФС. и с этим у меня несколько вопросов: 1)чем чревато монтирование нескольких десятков тысяч таких файлов? 2)есть ли ограничение на суммарное кол-во монтируемых ФС?

благодарен.

★★★

При большом кол-ве пользователей будет страшный ой.

Посему все хранить в одном дереве файлов с именем в виде значения хеш-функции, это для быстрого доступа, потому что миллионы файлов в одной директории будут тормозить.

квотирование можно делать тупо через подсчет того что уже занял пользователь, т.к. операция записи обычно гораздо реше операции чтения то оптимизировать надо чтение и поиск а не запись.

Deleted
()
Ответ на: комментарий от Deleted

Посему все хранить в одном дереве файлов с именем в виде значения хеш-функции, это для быстрого доступа, потому что миллионы файлов в одной директории будут тормозить.

что-то не пойму суть предложения. поясните плиз.

niXman ★★★
() автор топика
Ответ на: комментарий от niXman

А на ваш вопрос я ответил первым предложением (ни одно из ваших решении для большого кол-ва пользователей не подходит). Хотя, несмотря на то, что вы сами интуитивно предположили малую нагрузочную способность ваших решении, вы все еще цепляетесь за них, что весьма странно.

Deleted
()
Ответ на: комментарий от Deleted

как ваш ответ отвечает на вопрос про лимиты, и как ваш ответ отвечает на вопрос о допустимом кол-ве смонтированных ФС?

niXman ★★★
() автор топика
Ответ на: комментарий от niXman

Цитирую себя: ни одно из ваших решении для большого кол-ва пользователей не подходит.

Deleted
()

Сделайте доступ по webdav и вебморда при создании файлов тоже пусть ходит через webdav. Заодно из коробки получите локи при совместном редактировании, например. Квоты есть в вебдаве.

Или же сделайте работу с файлами через git/mercurial. Это еще лучше с учетом того, что там код. Для гита можно квоты сделать: http://stackoverflow.com/questions/10914208/is-there-a-git-server-side-hook-t...

zhuravlik ★★★★
()
Ответ на: комментарий от zhuravlik

Сделайте доступ по webdav и вебморда при создании файлов тоже пусть ходит через webdav.

это для меня наверное сложным будет...

получите локи при совместном редактировании

коды не шарятся между юзерами.

сделайте работу с файлами через git/mercurial.

там коды, размер которых очень редко превышает 1кб. мне кажется, что служебная информация для git/mercurial будет занимать больше. а если еще представить от, что уже сейчас у некоторых юзеров насчитывается около 30000 компилов, то git/mercurial тормозить будет просто нереально. имхо.

niXman ★★★
() автор топика
Ответ на: комментарий от niXman

Сервис планирует быть пастбином с компилятором, или внутрибраузерной IDE?

Если первое - то первый оратор в треде предложил очень хороший вариант. Хотя можно вообще хранить не файликами, а записями в БД, как вариант. Все равно текстовики с кодом.

zhuravlik ★★★★
()
Ответ на: комментарий от zhuravlik

и тем и другим. именно по этой причине файлы решено хранить на ФС. в текущей же реализации сервиса, IDE не реализорвана, и не реализована регистрация. поэтому и нет проблемы ассоциации компилов с юзерами как и нет возможности у юзеров создавать/читать/писать файлы, и поэтому коды на самом деле хранятся в БД =)

основной вопрос все же: есть ли ограничение на суммарное кол-во монтируемых ФС?

niXman ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.