Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Архитектурный вопрос 
:(
    Опции темы
DimaSiK
Дата 2.4.2013, 00:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Есть LAMP сервер и на нем крутиться приложение. Приложение имеет фронтэнд и бэкэенд, последний в совю очередь оказывает высокую нагрузку на сервер в следствии чего фронтэенд немного пожтормаживает, особенно в моменты пиковой нагрзуки со стороны бекэенда приложения. В рамках одного сервера что-либо сделать уже невозможно: оптимизирован бекэнд и фрондэенд, переписаны тяжелые SQL запрос, модернизировано железо. Вопрос состоит в изменении архитектуры самого приложения. Я смотрю в сторону разнесения фронтэеда и бэкэнда на разные сервера. В таком случае бэкэнд будет работать как сервис к которому будет обращаться фронтэенд. Однако мне кажется и в такой конфигурации скорее всего бэкэнд будет подтормаживать с обработкой запросов приходящих от фронтэнда. Собственно возникает вопрос, как организовать архитектуру приложения в таком случае и есть ли смысл разнесения бекэнда и фронтэенда на разные сервера если бэкэнд останется все так же нагружынной/узкой частью всей связки? Есть ли какие-то типовые решения, может быть на других платформах?


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
Fortop
Дата 2.4.2013, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Делай несколько бекендов. В чем сложность?

Типовая ситуация фронтенд-балансер-пачка бекендов.

Добавлено через 56 секунд
nginx, кстати, может работать на всех 3х этапах.

если не устраивает nginx, есть haproxy


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
DimaSiK
Дата 2.4.2013, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Узкое место/проблема тут в том, что база очень сильно бывает загружена(сыпется туча данных туда + сложные запроса для анализа данных) + реально ли организовать фронтенд-балансер-пачка бекендов у хостинг провайдера?


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
baldina
Дата 2.4.2013, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 26
Всего: 101



Цитата(Fortop @  2.4.2013,  00:27 Найти цитируемый пост)
nginx, кстати, может работать на всех 3х этапах

кстати не только он  smile 
PM MAIL   Вверх
Fortop
Дата 2.4.2013, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(DimaSiK @  2.4.2013,  08:58 Найти цитируемый пост)
Узкое место/проблема тут в том, что база очень сильно бывает загружена

Зависит от характера нагрузок

Варианты - репликация -> кластер -> переработка архитектуры
По степени возрастания нагрузки.

Простейший случай репликация - писать в одну БД, читать из нескольких других.
Если нагрузка на запись сильнее - то кластер
Если и его не хватает, то нужно пересматривать архитектуру.

Цитата(DimaSiK @  2.4.2013,  08:58 Найти цитируемый пост)
реально ли организовать фронтенд-балансер-пачка бекендов у хостинг провайдера?

Уточняй у своих провайдеров.
Hetzner, Godaddy вполне с таким справляются.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
DimaSiK
Дата 2.4.2013, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Цитата

Простейший случай репликация - писать в одну БД, читать из нескольких других.

Думал об этом, в таком случае фронтэнд может работать с репликами, а бэкэнд с мастер сервером. Единственное, что тут мне не подходит это то, что бэкэнд 
вносит изменения в БД и фронтэнд так же вносит изменения в БД на основе которых работает бэкэнд. Реплика - однасторонняя связь, в моем случае
должна быть двухсторонняя синхронизация.


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
Fortop
Дата 2.4.2013, 20:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(DimaSiK @  2.4.2013,  18:23 Найти цитируемый пост)
 Реплика - однасторонняя связь

Есть мастер-мастер репликация, но это не слишком удобный вариант


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
DimaSiK
Дата 2.4.2013, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Цитата

Есть мастер-мастер репликация, но это не слишком удобный вариант 

Думаю да. Данные между серверами требуется поддерживать одинаковыми каждую секунду.


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
Fortop
Дата 2.4.2013, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(DimaSiK @  2.4.2013,  23:25 Найти цитируемый пост)
Данные между серверами требуется поддерживать одинаковыми каждую секунду. 

realtime приложения редко делают на пхп smile

Так что скорее всего бока в ТЗ


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
DimaSiK
Дата 3.4.2013, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Цитата

Так что скорее всего бока в ТЗ 

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


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
Fortop
Дата 3.4.2013, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Данные нужны вообще все и сразу?
Может быть подойдет горизонтальный шардинг?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
DimaSiK
Дата 3.4.2013, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 390
Регистрация: 20.8.2006

Репутация: нет
Всего: нет



Цитата

Данные нужны вообще все и сразу?

Не совсем прямо моментально. Допустима задержка в 1-2 часа я удмаю. На фронтэнде пользователи добавляют/удаляют/изменяют критерии на основе которых  крутиться бэкэнд. 
Цитата

Может быть подойдет горизонтальный шардинг? 

ты имеешь ввиду что-то типа AWS?


--------------------
Мы не стараемся быть первыми, мы стараемся быть лучшими.

PM MAIL   Вверх
Aliance
Дата 3.4.2013, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Цитата(DimaSiK @  3.4.2013,  16:37 Найти цитируемый пост)
ты имеешь ввиду что-то типа AWS? 

highload
PM MAIL WWW ICQ Skype   Вверх
Fortop
Дата 3.4.2013, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(DimaSiK @  3.4.2013,  15:37 Найти цитируемый пост)
ты имеешь ввиду что-то типа AWS? 

Aliance, дал правильную ссылку.
А имел в виду деление данных между серверами, если они не нужны все сразу.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0565 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.