REST на Symfony2 ровно так же ка и реализация REST в Zend Framework и 1 и 2 версии — это очень большие тормоза, на которых теряется вся прелесть REST и поедает ресурсы вашего хостинга.
Безусловно, ваш код может быть полезен, когда по ТЗ в качестве фреймворка указан-а Symfony2
Конфиги «из коробки» можно вести в Ini-файлах, XML-е, YAML-е, JSON-е ну и как видите на чистом PHP (разумеется так работает быстрее).
Похожим образом описываются не только роуты, но другие настройки вашего проекта. К этому очень быстро привыкаешь. До недавнего времени была большая проблема с докой к компонентам и разобраться как правильно писать конфиги можно было только по рабочим примерам. Сейчас же я вижу нормальную доку.
В любую современную материнскую плату можно подключить 6 вот таких вот устройств: www.3dnews.ru/storage/Western-Digital-Caviar-Green-WD30EZRSDTL
Сумарный объем 18Tb. Поскольку один винчестер потребляет не более 6 Вт, то для домашнего storage-сервера вполне подойдет обычный корпус обычный БП (Я выбирал потише так как сами винчестеры шумят не сильно). Собираем сервер и организовываем доступ к storage через гигабитную сеть.
Софт
Linux
Проблем с подключением не возникло. Правда разбивать на логические диски нужно не привычным для многих fdisk-ом а утилитой parted. Без проблем собирается в софтовый RAID. Я проводил эксперименты с объединением в масив с помощью btrfs (можно «на лету» увеличивать размер хранилища докупая и доставляя новые диски по мере надобности)
Windows
Я не проверял, но в вышеупомянутом источнике пишут что без проблем ставиться Windows 7
X64, с остальными Windows есть некоторые проблемы.
Если бы у LightSquid была лицезия LGPL тогда ее возможно было бы включать в коммерческие дистрибутивы, которые распостраняються по отличной от GPL лицензии. infolex.narod.ru/gpl_gnu/gplrus.html (пункт 2b)
Рано или поздно у программиста наступает момент когда нужно заняться здоровьем. Я уверен что СЕО такого уровня подготовился к своему временному отсутствию.
Я уверен что Стив Джобс справиться с болезнью. Хочется пожелать одному из основателей Apple скорейшего выздоровления!
«Не судите, да не судимы будете». Я против метода защиты, который избрал автор программы. Но я поставил "+" Speakus-у, он высказал свое мнение рискуя своей репутацией, не спешите его судить!
Корень зла тут не алчности автора програмы (он защищал свой продукт как умел и привысил допустимые границы самообороны), а наглости конкурентов, которые фактически «вытерли» об него ноги.
Спасибо за статью.
nfs при росте вашего проекта может стать узким звеном. Почему бы не попробывать WebDav для операций записи на файлсервер и nginx на каждом файлсервере для «отдачи».
Метаданные в btrfs «по умолчанию» хранятся на том же устройстве на котором сами данные, но принудительно вы можете их разнести по разным устройствам.
Если вы это делаете принудительно то это означает что если метаданные ложатся на медленное устройство то они читаются медленно.
btrfs тоже в ядре с версии 2.6.29.
Почему я не использовал ReiserFS:
1. Она не оптимизирована для работы с SSD и попрождает много лишних операций записи на диск (что увеличивает его износ)
2. У нее нет возможности делать раздел на нескольких дисках, тем более указывать где хранить метаданные.
3. Я не уверен какя система из ReiserFS и btrfs в режиме компресии экономичнее.
Речь идет только о кеше, система на сервере раздачи находиться на обычном HDD, поэтому в случае «падения кеша» я бы мог натянуть его заново.
В этом случае минимальный размер папки будет не 4Kb а 2Kb а айнодов будет в 2 раза больше
или
В этом случае минимальный размер папки будет 1Kb а айнодов будет в 4 раза больше
Безусловно, ваш код может быть полезен, когда по ТЗ в качестве фреймворка указан-а Symfony2
Но если это не обязательное условие посмотрите сюда, простой REST будет работать быстрее, приблизительно в 5-10 раз :):
luracast.com/products/restler/
www.slimframework.com/
Ну а если хочется достичь Дао, то как советовали раньше смотрите в сторону NodeJS:
mcavage.github.com/node-restify/
github.com/danwrong/restler
Похожим образом описываются не только роуты, но другие настройки вашего проекта. К этому очень быстро привыкаешь. До недавнего времени была большая проблема с докой к компонентам и разобраться как правильно писать конфиги можно было только по рабочим примерам. Сейчас же я вижу нормальную доку.
Не пугайтесь, все намного проще чем кажется! :)
На задачах, связанных с Web-разработкой, это неплохая альтернатива как по цене, так и по производительности.
В любую современную материнскую плату можно подключить 6 вот таких вот устройств:
www.3dnews.ru/storage/Western-Digital-Caviar-Green-WD30EZRSDTL
Сумарный объем 18Tb. Поскольку один винчестер потребляет не более 6 Вт, то для домашнего storage-сервера вполне подойдет обычный корпус обычный БП (Я выбирал потише так как сами винчестеры шумят не сильно). Собираем сервер и организовываем доступ к storage через гигабитную сеть.
Софт
Linux
Проблем с подключением не возникло. Правда разбивать на логические диски нужно не привычным для многих fdisk-ом а утилитой parted. Без проблем собирается в софтовый RAID. Я проводил эксперименты с объединением в масив с помощью btrfs (можно «на лету» увеличивать размер хранилища докупая и доставляя новые диски по мере надобности)
Windows
Я не проверял, но в вышеупомянутом источнике пишут что без проблем ставиться Windows 7
X64, с остальными Windows есть некоторые проблемы.
Mac OS X
Я не проверял, но пишут что работает.
Если бы у LightSquid была лицезия LGPL тогда ее возможно было бы включать в коммерческие дистрибутивы, которые распостраняються по отличной от GPL лицензии. infolex.narod.ru/gpl_gnu/gplrus.html (пункт 2b)
Я уверен что Стив Джобс справиться с болезнью. Хочется пожелать одному из основателей Apple скорейшего выздоровления!
Корень зла тут не алчности автора програмы (он защищал свой продукт как умел и привысил допустимые границы самообороны), а наглости конкурентов, которые фактически «вытерли» об него ноги.
nfs при росте вашего проекта может стать узким звеном. Почему бы не попробывать WebDav для операций записи на файлсервер и nginx на каждом файлсервере для «отдачи».
Если вы это делаете принудительно то это означает что если метаданные ложатся на медленное устройство то они читаются медленно.
Почему я не использовал ReiserFS:
1. Она не оптимизирована для работы с SSD и попрождает много лишних операций записи на диск (что увеличивает его износ)
2. У нее нет возможности делать раздел на нескольких дисках, тем более указывать где хранить метаданные.
3. Я не уверен какя система из ReiserFS и btrfs в режиме компресии экономичнее.
Речь идет только о кеше, система на сервере раздачи находиться на обычном HDD, поэтому в случае «падения кеша» я бы мог натянуть его заново.