Задать вопрос
  • Как лучше сделать серверную архитектуру для HiLoad сайта?

    По логам: вариантов много, кроме уже озвученных могу добавить:
    1. Использовать AMQP (rabbitmq + федерация) и федерируйте логи куда угодно на любой сервер, там на принимающем сервере можете уже писать куда угодно можно даже "на лету" что-то агрегировать и т.п.
    2. Использовать Scribe и им гнать сообщения в лог на любой удобный сервер сборщик-агрегатор
    Оба решения позволяют доставлять сообщения в лог и в случае недоступности одного сервера-приемника пере-доставить на резервный. Писать можно куда угодно, можете в mongodb, можете в mysql+tokudb (у нее скорость работы на запись отличная и место можно за счет сжатия сэкономить)

    По поводу HA: перенаправление запросов в случае отказа одного сервера, тоже много вариантов:
    1. Дополнительный балансировщик перед серверами обрабатывающими запросы, nginx, haproxy и т.д. (но тут момент - этот балансировщик станет SPOF)
    2. Использовать решения, например heartbeat и при выпадение сервера - переподнимать на резервном интерфейс и тушить на первом (спустя небольшое время все запросы пойдут на новый сервер)
    Ответ написан
    Комментировать
  • Как Сохранить JS таблицу и данные в ней при переходе на другую страницу?

    На window unolad писать куда душе угодно, в cokies, local storage, на сервер запросом слать... а по onload читать (или перезапрашивать с сервера) и строить таблицу.
    Ответ написан
    Комментировать
  • Как сделать функцию команды из админки перезагрузить страницу?

    Без JS:
    В head прописать
    А на сервер отдавать правильные заголовки, и до тех пор пока страниц страница не обновится, отдавать HTTP 304

    С JS:
    На сколько фантазии хватит, можно таймером/интервалом опрашивать сервер и как только появится необходимость обновить страницу, на вебсокетах реализовать решение, тогда как только сервер запушит команду на обновление - выполнить ее и т.д.
    Ответ написан
    Комментировать
  • Как сначала загрузить методом ajax, а потом лишь вставить в DOM?

    Это называется FOUC (Flash Of Unstyled Content), решается любым методом, из общих (пишу для понимания принципов):
    1. В самом html файле в head прописать style: * { visibility: hidden; }, т.е. все скрываем, а в самом css файле, пишем * { visibility: visible; }, тогда все элементы после загрузки html будут невидимы, но как только css загрузится и "заведется" все встанет на свои места
    2. у body пишем класс body.no-css, аналогично пишем в head прописать style: body.no-css { display: none; } , потом по факту загрузки DOM снять с body класс no-css

    ИМХО, подгружать контент страницы после загрузки DOM ajax запросом - это увеличение времени ожидания страницы, что зло. Динамически подгружать второстепенные элементы, чтобы ускорить время доступности основного контента со стилями - хорошо.
    Ответ написан
  • Как хранить в JSON фрагменты кода [HTML, CSS, Javascript]?

    По спецификации JSON все символы \n\r\t и т.п., в значениях, должны быть заменены на соответствующие эскейп-последовательности
    Ответ написан
  • Как предотвратить рандомизацию URL подключемых javascript?

    api.jquery.com/jQuery.ajax
    cache (default: true, false for dataType 'script' and 'jsonp')


    в параметрах .ajax(...) нужно использовать cache : false
    Ответ написан
  • Как написать скрипт конфигурации окружения для linux?

    Надо разделить вопросы, деплой БД и установка-настройка пакетов, ОС - это разные задачи (я считаю что их смешивать не нужно).
    По установка-настройка пакетов, ОС вот пара вариантов:
    1. Самый правильный (имхо) использовать готовые решения для подобных задач puppet, chef, salt и etc
    2. Написать bash скрипт велосипед, который будет заливаться на целевой хост (любым путем, хоть ssh, хоть git clone) и выполнятся там, ставить пакеты, качать из своего источника пакеты, файлы конфигураций, настроек и т.п., шаблонизировать их, рапортовать о результате.

    По деплою БД, тут решение очень зависит от исходных данных.
    Как минимум эту задачу можно решить sql дампом и его заливкой: можно слить-залить файл (ftp scp ssh rsync), можно пайпом через ssh прокачать и сразу в БД толкать...
    Ответ написан
    Комментировать