Загрузка сервера
Процесс загрузки SberMobile Server оптимизирован для высокой производительности. Поэтому большинство стадий, которые занимают значительное время, задействуют многопоточное выполнение заданий.
Процесс загрузки содержит следующие основные стадии:
- Инициализация системы журналирования. Журналирование ошибок файлов и консоли доступны с этого момента.
- Загрузка менеджера ресурсов. Она обеспечивает работу операций по ребрендированию фирменного стиля.
- Загрузка внешних библиотек JAR и JNI. Архивы Java не включают в себя плагины сервера.
- Загрузка и обработка настроек сервера.
- Проверка обновлений. Эта стадия может быть пропущена, если нет Интернет соединения.
- Инициализация системы безопасности.
- Загрузка и инициализация плагинов. Вызывается метод всех плагинов контекста
ContextPlugin.initialize()
. - Инициализация доступа к хранилищу данных сервера.
- Загрузка Отказоустойчивого кластера. Ведомые узлы отказоустойчивого кластера active-passive находятся на этой стадии до тех пор, пока работает первичный узел.
- Загрузка дерева контекстов. Вызывается метод всех контекстов
Context.setupMyself()
. Все дочерние контексты любого зависящего контекста контейнера загружаются в этот же момент несколькими потоками. - Фаза установки плагинов контекста, вызывается метод
ContextPlugin.install(ContextManager)
. - Загрузка дерева контекстов, вызывается метод всех контекстов
Context.start()
. Все дочерние контексты любого зависящего контекста контейнера загружаются в этот же момент несколькими потоками. - Загрузка плагинов, вызывается метод всех плагинов контекста
ContextPlugin.launch()
. Он включает в себя загрузку встроенного web сервера при условии, что он реализован как плагин контекста. - Инициализация соединения. Большинтсво сокетов сервера, которые принимают входящие соединения, открыты на этой стадии.
- Создание встроенных ресурсов. Эта стадия происходит только при первой загрузке сервера.