Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оповещение клиентов об обслуживании БД / 3 сообщений из 3, страница 1 из 1
26.03.2014, 03:16:15
    #38596502
Yed
Yed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оповещение клиентов об обслуживании БД
Здравствуйте.
Написал мини-аналог mysqlhotcopy под windows. Утилита работает, таблицы лочит, данные копирует...
Теперь хотелось бы уведомлять клиентов, что сервер на обслуживании и не накапливать очередь запросов.
Первое что пришло на ум - создать еще одну БД с единственной таблицей и записью, которая будет говорить о том что БД бэкапится или нет. Далее эту запись проверять, когда нужно, в серверном приложении, через которое работаю клиенты.
Но все это лишние запросы, лишняя смена БД в сессии, доп. БД....
Может если варианты, как лучше это сделать?
...
Рейтинг: 0 / 0
26.03.2014, 09:32:30
    #38596584
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оповещение клиентов об обслуживании БД
А в чём сложности? в приложении формируешь управляющий сокет и слушаешь его, а в своей программе организуешь получение списка клиентов и шлёшь им в этот сокет уведомление. Правда, не сможешь уведомлять тех, кто ходит сквозь НАТ - ну тогда организуй ещё и серверную приладу, с которой клиент установит канал прослушивания. Можно не собирать список, а тупо мультикастить, но тогда охват будет ещё уже, только в рамках локальной сети.
...
Рейтинг: 0 / 0
26.03.2014, 09:58:55
    #38596606
Yed
Yed
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оповещение клиентов об обслуживании БД
Сокет и рассылка не пойдет, клиенты разные и обслуживаются по разному. В некоторых схемах клиент может быть за прокси или NAT.
Ниже схемы работы. Жирным выделил места, где я могу проверять доступность БД и отвечать клиенту, что мол занято - подожди! :)

Чел <-> Клиентское ПО <-> PHP-скрипт <-> БД
Чел. <-> Браузер <-> PHP-скрипт <-> БД
Робот <-> Серверное ПО (TCP/IP порт) <-> БД

Архитектура позволяет практические не менять клиентскую часть (ну ресурс с кодом сообщения добавить). Т.е. мне нужно только точно определять, что в данный момент мой mysqlhotcopy делает копию и при очередном запросе клиента сообщить ему об этом.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Оповещение клиентов об обслуживании БД / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]