Понятия распределенной архитектуры
Все SberMobile Serverы имеют единую модель внутреннего представления данных: дерево контекстов. Каждый контекст в этом дереве отвечает за управление определённым устройством или системным ресурсом, будь то оповещение или отчёт.
В распределённой архитектуре каждый из серверов может работать как поставщик или потребитель данных для/с других серверов:
• Потребитель получает определенные поддеревья из деревьев контекстов других серверов и подключает их в собственное дерево контекстов (импортирует контексты с других серверов)
• Поставщик позволяет другим серверам использовать свои контексты (экспортирует контексты другим)
Контекст потребителя, который выступает как основа для привлечения контекстного поддерева поставщика, называется Точкой Монтирования. У каждого поставщика может быть несколько точек монтирования, т.е. несколько поддеревьев, подсоединенных к контекстному дереву потребителя.
Как только потребитель импортировал поддерево с другого сервера, собственные контексты этого потребителя могут взаимодействовать с импортированными контекстами. Вот несколько примеров:
• Если сервер B импортировал контекст устройства с сервера A, он может определить оповещение, которое проверяет некоторые метрики устройства и показывает оповещение о событии, если метрики выходят за определенные границы. При этом устройство будет опрошено сервером A, а оповещение будет обрабатываться на сервере B.
• Если сервер B импортирует контекст пользовательских аккаунтов с сервера A, системные операторы могут полностью контролировать все устройства и ресурсы этого пользователя через сервер B. При этом все модификации будут переданы серверу A и сохранены в его базе данных. Это может быть полезно, если операторы не имеют прямого доступа к серверу A, например, когда он находится в отдельной подсети.
• В конце концов, сервер B может импортировать все дерево контекстов с сервера A. В этом случае любой ресурс с сервера B может иметь доступ ко всем ресурсам сервера A, позволяя делать что угодно.
Взаимодействие поставщиков и потребителей
Все взаимодействие между потребителями и поставщиками происходит по IP-сетям с использованием шифрованных SSL-соединений. Соединения двунаправленные:
• Потребители могут подключаться к поставщикам и принимать входящие соединения от поставщиков.
• Точно так же поставщики могут подключаться к потребителям и принимать входящие соединения от них.
Двунаправленные соединения позволяют обходить различные сложности в конфигурации сетей и фаерволов.
Любой SberMobile Server может быть и потребителем и поставщиком одновременно. Более того, он может иметь множество связей, т.е. импортировать контексты с других серверов и экспортировать свои контексты другим или тем же серверам.