149ea694a792f3ad2caaf77077a0df58 автор множества покойников
А давайте я вам объясню, хотя вы этого особо и не просили…



У нас пять серверов – 2 sql-сервера (там живет база данных) и 3 веб-сервера. Фигня в том, что база-то у нас одна, просто она дублируется на два сервера, потому что один такой нагрузки не выдержит. При этом оба сервера, понятное дело, должны быть между собой синхронизированы, т.к. часть родных и любимых пользователей сидит на одном, часть на другом, все дружно пишут записи и комментарии на своем сервере, но должны видеть то, что происходит на другом.

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

Но все работает. Пока не приходит время пиковой нагрузки, когда репликация нарушается и появляется так хорошо знакомая всем рассинхронизация. В этот момент и возникает оптический обман "пропадающих записей и комментариев", которые на самом деле есть, просто вы не на том сервере. Когда один sql-сервер обгоняет второй, то все уже начинающие звереть пользователи перебрасываются на один из серверов, пока база данных не синхронизируется. И все снова работает.

Но тут, сука, на sql-2 падает одна из таблиц. Сама по себе. Без вмешательства извне. Без крэша. Без проблем с железом. Безо всякой вообще логики. На этом месте синхронизация накрывается окончательным хентаем, потому что все себе мирно работало бы, но таблица шлет всех туда, куда справедливо озверевшие пользователи администрацию. И при этом все остальное функционирует нормально, а баг-репорты вообще молчат. И при тестировании все зашибись.

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

Занавес, он же антракт.



Ждем новое оборудование, которое позволит прожить еще полгода. Параллельно – пересмотр кода, структуры организации БД и прочие программерские радости, которые нужно успеть реализовать за эти самые полгода.



Скажите, вам теперь сильно легче живется?


Комментарии
23.12.2006 в 22:53

Если жизнь не прёт,ищу жизнь на Марсе.
OMG....сорри,не заметила собственного разлогина,це мой пост был)
25.12.2006 в 10:15

мне сказали, что ты меня все еще любишь
Dr0n Деньги инвестировать надо в разработку кода, а не в оборудование.



+1. Если денег нет, можно OS-проект запустить с открытыми исходниками. На дневниках достаточно программистов, которые будут рады поучаствовать.
25.12.2006 в 10:28

СА
DDD не уверен, что кто-то за это возьмется.

Можно попробовать, конечно.
25.12.2006 в 10:32

мне сказали, что ты меня все еще любишь
Dr0n поднять test.diary.ru на старом серваке, бросить клич в спирите (или разослать умейлы с предложением на юзеров, в интересах которых указано программирование по соответствующему направлению), назначить координатора и пусть попробуют. Хуже не будет.
25.12.2006 в 10:39

149ea694a792f3ad2caaf77077a0df58 автор множества покойников
DDD

Хех, хуже как раз еще оооочень есть куда)
25.12.2006 в 10:46

мне сказали, что ты меня все еще любишь
Re@nimator по крайней мере, к пагубным последствиям не приведет. Старый полудохлый сервак и ограничение на количество присутствующих юзеров. Потом запустить на него тестировщиков и посмотреть, при какой нагрузке они его увалят, да и вообще прикинуть, как будет вести себя софт в экстремальных условиях.



Большие корабли ведь тоже не сразу с ватмана в железо переносят. Сначала по старинке, уменьшенную копию 1:100 или 1:50 испытывают.
25.12.2006 в 12:30

149ea694a792f3ad2caaf77077a0df58 автор множества покойников
DDD

да легко)
27.12.2006 в 09:55

авиатор
снимите порчу уже, в конце концов...
19.01.2008 в 17:40

Лентяй - это человек, которому нравится просто жить.
CPU not found!
Press any key for software emulation...
___________
Систему изначально надо было делать по другому, или сначала так, а потом уже когда число пользователей превысило определенный лимит (ну и появилась прибыль) -
стоило бы задуматься о замене принципов ПО в целом...
Жалоба же, что Мускул не держит кластеризацию вообще из пальца высососана -
а какого его использовать под задачи для которых он изначально был непредназначен???
22.01.2008 в 14:55

149ea694a792f3ad2caaf77077a0df58 автор множества покойников
Big_Pillow, дело давно было. сейчас ситуация обстоит иначе