Задать вопрос
Ответы пользователя по тегу MySQL
  • Как реализовать переключение IP адресов?

    @vimvim
    Судя по характеру вопроса, Вам нужно организовать резервирование MySQL сервера с возможность прозрачного для клиентов переключения на резервные сервера в случае падения главного? Если так, то это называется MySQL Load Balancer.

    Фактически для этой задачи можно обойтись 1 IP адресом ( видимым клиентам MySQL ) который будет присовен Load Balancer instance, который в свою очередь принимая MySQL запросы от клиентов будет переадресовывать их ( в режиме proxy ) соотвествующему MySQL Server.

    Кроме переадресации запросов, задачей Load Balancer так же будет периодическое обращение к MySQL серверам и определение их состояния. В случае сбоя одного из серверов ( например master ) он автоматически будет помечен как offline и запросы будут переадресовываться следующему.

    Вот некоторая информация на эту тему: barkingiguana.com/2008/07/20/load-balanced-highly-available-mysql-on-ubuntu-804/
    Ответ написан
    Комментировать
  • Как сделать обновление страницы по событию в MySQL?

    @vimvim
    Возможно, что Вам поможет вот такое решение:

    — Нужно написать UDF функцию для MySQL.
    Функция пишется на C и может быть вызвана из триггера:
    dev.mysql.com/doc/refman/5.5/en/adding-udf.html
    dev.mysql.com/doc/refman/5.0/en/faqs-triggers.html#qandaitem-B-5-1-10
    Условно назовем ее push_messasge(...)
    Функцию нужно будет вызывать из MySQL триггера

    — Нужно реализовать очередь сообщений с использованием shared memory механизма
    Функция push_messasge будет писать туда сообщение.
    Обратите внимание что реализацию нужно делать lock free, чтобы не вызвать падения производительности
    mysql

    — Нужно реализовать внешнюю программу которая будет читать сообщения из shared memory очереди и писать их
    в push сервер. В качестве push сервера можно взять dklab.ru/lib/dklab_realplexor/
    Программа может быть написана на python ( у dklab_realplexor реализован pythin api:
    github.com/DmitryKoterov/dklab_realplexor/tree/master/api/python

    — Push сервер в свою очередь будет передавать сообщения JS клиентам в браузере.
    Ответ написан
    Комментировать