|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
Есть n-ое количество территориальных узлов связанных плохими каналами связи. У каждого узла есть своя операционная БД. Над ними стоит центральный узел, который их координирует, контролирует и получает информацию в общую БД. БД узлов часть информации получают сверху, часть из своей аппаратуры. Центральная БД не должна знать все происходящее в низовых БД(часть информации наверху ненужна, а каналы плохие). Если узлу нужна информация другого узла - он обращается к нему напрямую, минуя центральную базу. Четкой структуры обмена нет. Данные могут быть нужны произвольные, частично расчетные или суммарные. Центральная база не принимает часть информации узлов в нормальном состоянии, но может ее запросить по требованию пользователя. Аналогично, узлы могут запрашивать обновление НСИ и произвольную информацию от других узлов. Также требуется удаленное управление аппаратурой узлов синхронно с ситуацией на остальных. Насколько я понял, мне нужно изучать распределенные приложения. А вот что именно, в какой последовательности? Посоветуйте, пожалуйста, литературу. P.S. Пока нет понимания какие технологии нужны и что они из себя представляют. У меня большой опыт в клиент-сервере, но тут задачка явно далеко выходит за его рамки. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 16:27 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
ЩичеНасколько я понял, мне нужно изучать распределенные приложения. А вот что именно, в какой последовательности? Посоветуйте, пожалуйста, литературу. P.S. Пока нет понимания какие технологии нужны и что они из себя представляют. У меня большой опыт в клиент-сервере, но тут задачка явно далеко выходит за его рамки.А зачем? Вы описали текущую ситуацию, но не показали чем именно она вас не устраивает и что нужно получить в результате. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 16:56 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
Это система, которую надо сделать. Задумка пока у начальства в очень общих чертах. Известно, что примерно также функционирует система РЖД, только у них она еще сложнее. Там существует несколько десятков тысяч низовых узлов(станции) , затем уровень отделения со своей БД/спецификой, уровень дороги, уровень министерства. Существует она лет 30 минимум, еще на советских технологиях впервые запущена. Понятно, что Москва неспособна держать обмен всего пространства через себя или накапливать всю доступную информацию. Узлы должны быть способны запрашивать информацию у другого узла напрямую или с подсказкой из вышележащих уровней. Вышележащие узлы могут заказывать отчеты у нижележащих, чтобы потом свести их в единое целое. Уровни станций/отделений не только работают с чистой информацией, но и могут выдавать команды управления автоматическим устройствам, что также надо фиксировать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 17:29 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
У нас подобная схема работает без всяких распределенных приложений (хотя, конечно, количество узлов несравнимо меньше РЖД). Между серверами работают разного рода репликации. Конечные приложения обращаются либо к ближайшему/нужному серверу либо к "более центральному" в зависимости от логики конкретной операции и/или доступности/недоступности серверов. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 17:51 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
miksoftУ нас подобная схема работает без всяких распределенных приложений (хотя, конечно, количество узлов несравнимо меньше РЖД). А вы не подскажете, какие конкретно технологии используете для выборочной репликации? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 18:00 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
ЩичеmiksoftУ нас подобная схема работает без всяких распределенных приложений (хотя, конечно, количество узлов несравнимо меньше РЖД).А вы не подскажете, какие конкретно технологии используете для выборочной репликации?Выборочной в каком смысле? Те репликации, которые используют стандартные механизмы СУБД (Oracle), реплицируют либо целиком таблицы, либо выборочно поля из таблицы. Фильтрации по записям нет. Тот вид репликации, который выполнятется PL/SQL-процедурой, фактически выполняет запрос вида INSERT destination_table SELECT ... FROM sourse_table WHERE ... . Т.е. необходимые условия просто пишутся в секции WHERE. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 18:07 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
В книге "Oracle Database Advanced Replication" про эту тему много чего написано. Даже если ты не будешь использовать Оракл (с плохими, неустойчивыми каналами система может работать нестабильно), общие принципы, алгоритмы и подходы будет полезно знать. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 18:09 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
miksoft Те репликации, которые используют стандартные механизмы СУБД (Oracle), реплицируют либо целиком таблицы, либо выборочно поля из таблицы. Фильтрации по записям нет. Тот вид репликации, который выполнятется PL/SQL-процедурой, фактически выполняет запрос вида INSERT destination_table SELECT ... FROM sourse_table WHERE ... . Т.е. необходимые условия просто пишутся в секции WHERE. Тогда штатная не устраивает. Количество информации крупного узла в сутки выражается в гигабайтах, но подавляющая часть вне узла никому ненужна. Да и остальная часть может быть обработана другим узлом и отброшена. Узел сообщает о возрастании нагрузки из-за наступления вечера, к ночи вечерние данные устаревают и отбрасываются из-за падения нагрузки. Город спит. На ночь свой обмен, с утра по новой. mcureenab, спасибо. Почитаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 19:24 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
ЩичеmiksoftТе репликации, которые используют стандартные механизмы СУБД (Oracle), реплицируют либо целиком таблицы, либо выборочно поля из таблицы. Фильтрации по записям нет.Тогда штатная не устраивает.Боюсь, я неправильно выразился. Это у нас все записи реплицируются, потому что нам это надо. Но я не в курсе, могут ли стандартные механизмы репликации Оракла иначе или не могут. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 19:33 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
miksoft, могут. В материализованном представлении запрос пиши с фильтром, и будет реплицироваться только то, что нужно. В других случаях (на streams'ах например) всякие трюки с фильтрами тоже можно применять. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2009, 21:50 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
>Щиче, 11.09.2009, 16:27 [7648825] >Есть n-ое количество ... А если так (как вариант): 1. На центральном узле создаешь систему абонентских ящиков, в которые можешь положить сообщения такого типа {кому, чего_желаю} (реализация - шустрая база данных типа SQLite, или некоторой структуры в оперативной памяти, или симбиоз из первых двух). 2. Пишешь удаленый сервис на WCF (singleton) и располагаешь его где-то в локальной сети центрального узла. 3. Периферийные узлы (и центральный в том числе) обращаются к сервису за обслуживанием. Нечто подобное реализовано здесь (система абонентских ящиков обзывается - ЦУС). С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2009, 23:15 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
ВМоисеев1. На центральном узле создаешь систему абонентских ящиков, в которые можешь положить сообщения такого типа {кому, чего_желаю} (реализация - шустрая база данных типа SQLite, или некоторой структуры в оперативной памяти, или симбиоз из первых двух). Велосипед? Велосипед не нужен. Есть множество проверенных систем гарантированной доставки сообщений - MQSeries, MSMQ, MS SQL ServiceBroker. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2009, 01:05 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
>Roman S. Golubin, 13.09.2009, 01:05 [7651836] >Велосипед? Велосипед не нужен... Не могу с Вами согласиться. В предложенной схеме каждый периферийный узел имет адрес только центрального узла и вслучае чего, замена только в одном месте. Не нравиться WCF, используйте Socet, не нравиться Socet, используйте UDP. (MSMQ работает под WCF). Если бы все считали, также как Вы, Linux точно бы не появился. Хотя на вкус и цвет ... С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2009, 08:22 |
|
Проектирование корп. распределенной системы
|
|||
---|---|---|---|
#18+
>Roman S. Golubin... Вдогонку. Вполне можно допустить, что на периферийных узлах достаточно и SQLite (к примеру), а по сему, может и не надо притягивать за уши репликацию. С уважением, Владимир. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.09.2009, 08:27 |
|
|
start [/forum/topic.php?fid=33&msg=36191848&tid=1548476]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
70ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 304ms |
total: | 454ms |
0 / 0 |