149ea694a792f3ad2caaf77077a0df58 автор множества покойников
А давайте я вам объясню, хотя вы этого особо и не просили…
У нас пять серверов – 2 sql-сервера (там живет база данных) и 3 веб-сервера. Фигня в том, что база-то у нас одна, просто она дублируется на два сервера, потому что один такой нагрузки не выдержит. При этом оба сервера, понятное дело, должны быть между собой синхронизированы, т.к. часть родных и любимых пользователей сидит на одном, часть на другом, все дружно пишут записи и комментарии на своем сервере, но должны видеть то, что происходит на другом.
А база данных немаленькая, и разбить ее на несколько компактных частей, каждая из которых крутилась бы на своем сервере и синхронизировалась с остальными, нельзя. Ибо MySQL, сука, не предусматривает кластеризации, а если в последней версии и предусматривает, то так страшно, что лучше даже и не пытаться.
Но все работает. Пока не приходит время пиковой нагрузки, когда репликация нарушается и появляется так хорошо знакомая всем рассинхронизация. В этот момент и возникает оптический обман "пропадающих записей и комментариев", которые на самом деле есть, просто вы не на том сервере. Когда один sql-сервер обгоняет второй, то все уже начинающие звереть пользователи перебрасываются на один из серверов, пока база данных не синхронизируется. И все снова работает.
Но тут, сука, на sql-2 падает одна из таблиц. Сама по себе. Без вмешательства извне. Без крэша. Без проблем с железом. Безо всякой вообще логики. На этом месте синхронизация накрывается окончательным хентаем, потому что все себе мирно работало бы, но таблица шлет всех туда, куда справедливо озверевшие пользователи администрацию. И при этом все остальное функционирует нормально, а баг-репорты вообще молчат. И при тестировании все зашибись.
На этом месте сервера останавливаются для наведения порядка, а окончательно осатаневшим людям показывается муха с часами.
Занавес, он же антракт.
Ждем новое оборудование, которое позволит прожить еще полгода. Параллельно – пересмотр кода, структуры организации БД и прочие программерские радости, которые нужно успеть реализовать за эти самые полгода.
Скажите, вам теперь сильно легче живется?
У нас пять серверов – 2 sql-сервера (там живет база данных) и 3 веб-сервера. Фигня в том, что база-то у нас одна, просто она дублируется на два сервера, потому что один такой нагрузки не выдержит. При этом оба сервера, понятное дело, должны быть между собой синхронизированы, т.к. часть родных и любимых пользователей сидит на одном, часть на другом, все дружно пишут записи и комментарии на своем сервере, но должны видеть то, что происходит на другом.
А база данных немаленькая, и разбить ее на несколько компактных частей, каждая из которых крутилась бы на своем сервере и синхронизировалась с остальными, нельзя. Ибо MySQL, сука, не предусматривает кластеризации, а если в последней версии и предусматривает, то так страшно, что лучше даже и не пытаться.
Но все работает. Пока не приходит время пиковой нагрузки, когда репликация нарушается и появляется так хорошо знакомая всем рассинхронизация. В этот момент и возникает оптический обман "пропадающих записей и комментариев", которые на самом деле есть, просто вы не на том сервере. Когда один sql-сервер обгоняет второй, то все уже начинающие звереть пользователи перебрасываются на один из серверов, пока база данных не синхронизируется. И все снова работает.
Но тут, сука, на sql-2 падает одна из таблиц. Сама по себе. Без вмешательства извне. Без крэша. Без проблем с железом. Безо всякой вообще логики. На этом месте синхронизация накрывается окончательным хентаем, потому что все себе мирно работало бы, но таблица шлет всех туда, куда справедливо озверевшие пользователи администрацию. И при этом все остальное функционирует нормально, а баг-репорты вообще молчат. И при тестировании все зашибись.
На этом месте сервера останавливаются для наведения порядка, а окончательно осатаневшим людям показывается муха с часами.
Занавес, он же антракт.
Ждем новое оборудование, которое позволит прожить еще полгода. Параллельно – пересмотр кода, структуры организации БД и прочие программерские радости, которые нужно успеть реализовать за эти самые полгода.
Скажите, вам теперь сильно легче живется?
+1. Если денег нет, можно OS-проект запустить с открытыми исходниками. На дневниках достаточно программистов, которые будут рады поучаствовать.
Можно попробовать, конечно.
Хех, хуже как раз еще оооочень есть куда)
Большие корабли ведь тоже не сразу с ватмана в железо переносят. Сначала по старинке, уменьшенную копию 1:100 или 1:50 испытывают.
да легко)
Press any key for software emulation...
___________
Систему изначально надо было делать по другому, или сначала так, а потом уже когда число пользователей превысило определенный лимит (ну и появилась прибыль) -
стоило бы задуматься о замене принципов ПО в целом...
Жалоба же, что Мускул не держит кластеризацию вообще из пальца высососана -
а какого его использовать под задачи для которых он изначально был непредназначен???