в этом то и получаетсья основной затык, что если вы автризуете польщователя то выбираете его не по PK значить делаете два запоса минимум, один на схему у нулевого шарда, а другой на поиск авторизации в базе.
и тут вопрос как вы по логину\мыло + пароль опеределяете в каком шарде лежит пользователь?
у меня была схема где по мыло можно было найти шард пользователя.
остаеться вопрос как вы поступили с тем что CActiveRecord почти сразу читает схему из mysql
и простой вызов new Users делает запрос к базе, причем на этой стадии еще и не понятно какой?
и еще шардинг подразумевает ограниченное кол-во записей в шарде, но машины (сервера) все разной мощьности на одном шарде может быть уже предел нагрузки и данные подходящие под условие выбора сервера для сохранения вроде бы подходят под тот на котором уже затык, вы как то это решали?
у меня есть небольшое решение для yii но оно получилось сложно конфигурироемое. //dbs1.Spot1.User1
$spot = array(
'1' => array(
'100',
'101',
'102',
...
),
'2' => array(
'201',
'202',
'203',
...
),
);
где сам файл конфиг определеннго шарда сервера, а 1,2 — номер базы данных, 100, 101… 201..203… номер шарда таблицы
т.е вид такой
server1.DB1.User100
но как я уже говорил сложно конфигурируемое дело.
Тут вот какая штука, у меня есть билайн и мегафон. БИлайн говорит что у них вышки настроены на приоритет инет трафика, в итоге если вы подключены к интернету по GSM то вы не доступны. в Мегафоне инет рветься при звонке.
как в МТС не знаю.
т.е новый человек еще пару дней себе на локальную машинку половину вашего проекта доставляет. Можен быть проще образ сделать со всем установленным софтом и его отдавать что бы не издеваться над человеком.
…
php или Ruby или Python особого значения не имеет. я исключительно про простоту установки всего этого дела.
если у вас проект только php+mysql то все оке, но если у вас пару демонов, и еще чтонить рядышком mongo, sphinx или какие то патчи на php то вся эта схема не будут работать. а так отличное решение спасибо за статью
мне кажеться когда ссылка на заявку ведет, надо форму уже заполненую оставлять то с чем надо соеденить. а то мне пришлось опять открывать подбиралку находить названия и копипаститьь их в форму.
у меня двойственное ощущение осталось, пока переходил с свн на гит казалось все сложно как то, но перешел и пол года работал уже нормально, потом перешел в другой проект там был уже свн, пришлось изобрести себе свн по верх гита. очень уж удобно ветвиться и стешить. Но сдругой стороны, что бы начать пользоваться надо сломать мозг. как мне показалось
Я наоборот, стараюсь Хабр — выходные, а в рабочее только если надо найти что-нить и ссылку с гугла ведет сюда.
но при этом часть времени в FaceBook. Поставил себе плагин для Хрома замеряет время проведенное на сайте. Буду вот смотреть.
у меня было, до кризиса. Сайты. но это еще хуже. когда супер малый бизнес (2 человека) то устаешь еще больше. и при этом разнообразить сложенее. Сейчас склоняюсь к тому что надо паралельно делать не 1, а больше свои проектов. тогда ты в любой момент можешь переключиться. И учитывая что больше 6 часов продуктивно в день работать не получаеться. В перерывы можно подумать о своих проектах. и тем самым по переключать мозг. Это мне сейчас дает некий «отдых». Не знаю как долго это будет помогать.
но учитывая смену работы эффект будет как бы суммироватся.
и тут вопрос как вы по логину\мыло + пароль опеределяете в каком шарде лежит пользователь?
у меня была схема где по мыло можно было найти шард пользователя.
и простой вызов new Users делает запрос к базе, причем на этой стадии еще и не понятно какой?
и еще шардинг подразумевает ограниченное кол-во записей в шарде, но машины (сервера) все разной мощьности на одном шарде может быть уже предел нагрузки и данные подходящие под условие выбора сервера для сохранения вроде бы подходят под тот на котором уже затык, вы как то это решали?
у меня есть небольшое решение для yii но оно получилось сложно конфигурироемое.
//dbs1.Spot1.User1
$spot = array(
'1' => array(
'100',
'101',
'102',
...
),
'2' => array(
'201',
'202',
'203',
...
),
);
где сам файл конфиг определеннго шарда сервера, а 1,2 — номер базы данных, 100, 101… 201..203… номер шарда таблицы
т.е вид такой
server1.DB1.User100
но как я уже говорил сложно конфигурируемое дело.
php-fpm ресурсов жрет меньше и нету мутатнит с .htaccess
img688.imageshack.us/img688/295/selection083.png
К.О
как в МТС не знаю.
было бы хуже если бы в нем была одна сиська. и не было рекламы.
…
php или Ruby или Python особого значения не имеет. я исключительно про простоту установки всего этого дела.
но при этом часть времени в FaceBook. Поставил себе плагин для Хрома замеряет время проведенное на сайте. Буду вот смотреть.
но учитывая смену работы эффект будет как бы суммироватся.