Основные особенности функциональной архитектуры ZStack:
- Асинхронная архитектура: асинхронное сообщение, асинхронный метод и асинхронный HTTP-вызов.
- ZStack использует шину сообщений для подключения различных сервисов. Когда служба вызывает другую службу, исходная служба отправляет сообщение службе назначения, регистрирует функцию обратного вызова, а затем немедленно возвращается обратно. Как только служба назначения завершает задачу, она сообщает о результате задачи, запуская функцию обратного вызова, зарегистрированную службой-источником. Асинхронные сообщения могут обрабатываться параллельно.
- Службы в ZStack взаимодействуют друг с другом посредством асинхронных сообщений. Внутри служб связанные компоненты и плагины также вызываются с использованием асинхронных методов. Эти методы аналогичны методам вызова асинхронных сообщений.
- У каждого плагина в ZStack есть соответствующий агент. ZStack помещает URL-адрес обратного вызова в HTTP-заголовок каждого запроса. Таким образом, агенты могут отправлять ответы на URL-адрес вызывающего абонента после завершения задач.
- На основе асинхронного сообщения, асинхронного метода и асинхронного HTTP-вызова ZStack создает многоуровневую архитектуру, гарантирующую возможность выполнения асинхронных операций над всеми компонентами.
- Благодаря асинхронной архитектуре один узел управления ZStack может обрабатывать десятки тысяч одновременных запросов API в секунду и одновременно управлять десятками тысяч серверов и сотнями тысяч экземпляров виртуальных машин.
- Служба без сохранения состояния: один запрос не зависит от других запросов.
- В ZStack запросы, отправленные агентами вычислительных узлов, агентами хранения, сетевыми службами, службами агентов консоли и службами конфигурации, могут обрабатываться без использования других запросов. Отправленные запросы содержат всю необходимую информацию, и связанным узлам не нужно поддерживать и хранить какую-либо информацию.
- ZStack аутентифицирует ресурсы, такие как узлы управления и вычислительные узлы, посредством кольца согласованного хеширования, используя их UUID в качестве уникального идентификатора. Благодаря последовательному кольцу хеширования отправителю сообщения не нужно знать, какой экземпляр службы собирается обработать сообщение. Службам не нужно поддерживать и обмениваться информацией о том, какими ресурсами они управляют. Все, что нужно сделать службам, — это обработать входящие сообщения.
- Между узлами управления ZStack распределяется мало информации. Таким образом, минимум два узла управления могут соответствовать требованиям высокой доступности и масштабируемости.
- Механизм обслуживания без сохранения состояния делает систему более надежной. Перезапуск сервера не приведет к потере никакой информации о состоянии. Это также упрощает масштабирование и масштабирование центра обработки данных.
- Архитектура без блокировки: последовательный алгоритм хеширования
- Алгоритм согласованного хеширования гарантирует, что все сообщения одного и того же ресурса всегда обрабатываются одним и тем же экземпляром службы. Таким образом, сообщения собираются в указанном узле, что снижает сложность синхронизации и параллелизма.
- ZStack использует рабочую очередь, чтобы избежать конфликтов блокировок. Последовательные задачи хранятся в памяти в виде рабочих очередей. Рабочие очереди могут обрабатывать любую операцию любого ресурса параллельно, чтобы улучшить параллелизм системы.
- Архитектура без блокировки на основе очередей позволяет задачам выполняться параллельно, тем самым повышая производительность системы.
- Архитектура внутрипроцессных микросервисов: разделение микросервисов
- ZStack использует шину сообщений для изоляции и управления различными службами, такими как службы экземпляров виртуальных машин, службы аутентификации личности, службы моментальных снимков, службы томов, сетевые службы и службы хранения. Все микросервисы заключены в один и тот же процесс узла управления. Эти службы взаимодействуют друг с другом через шину сообщений. После того как все сообщения отправлены на шину сообщений, служба назначения выбирается кольцом последовательного хеширования для пересылки сообщений.
- Внутрипроцессные микросервисы обеспечивают звездообразную архитектуру, гарантируя независимую работу каждой службы в микросервисах. Эта архитектура также отделяет высокоцентрализованный бизнес управления и обеспечивает высокую степень автономии и изоляции системы. Сбой какой-либо службы не влияет на другие компоненты. Это эффективно гарантирует надежность и стабильность системы.
- Универсальная система плагинов: поддерживает горизонтальное расширение плагинов.
- В ZStack каждый плагин предоставляет услуги независимо. Любой вновь добавленный плагин не влияет на другие существующие плагины.
- ZStack разделяет плагины на два шаблона: шаблон стратегии и шаблон наблюдателя. Плагины шаблонов стратегий наследуют интерфейсы родительского класса, а затем выполняют конкретные реализации. Плагины шаблона наблюдателя регистрируют прослушиватель для отслеживания изменений событий внутренней бизнес-логики в приложении. Как только событие обнаруживается внутри приложения, плагины шаблонов наблюдателей автоматически реагируют на это событие и выполняют фрагмент кода, чтобы повлиять на соответствующий бизнес-поток.
- ZStack поддерживает горизонтальное расширение плагинов. Облако можно быстро модернизировать, при этом общая архитектура системы остается надежной.
- Workflow Engine: управление на основе последовательностей, откат при ошибках
- ZStack четко определяет каждый рабочий процесс с помощью файлов XML. Любой поток можно откатить при возникновении ошибок. Рабочий процесс может откатить все предыдущие выполненные шаги и очистить ресурсы мусора во время выполнения, если на шаге возникает ошибка.
- Каждый рабочий процесс может содержать подпоток для дальнейшего разделения бизнес-логики.
- Система тегов: расширяет бизнес-логику и добавляет свойства ресурсов.
- ZStack использует системные теги и плагины для расширения исходной бизнес-логики.
- Вы можете использовать теги для группировки ресурсов и поиска ресурсов с определенными тегами.
- Cascade Framework: поддерживает каскадные операции с ресурсами.
- ZStack использует каскадную структуру для выполнения каскадных операций с ресурсами. Каскадная структура позволяет каскадно передавать операцию от одного ресурса к другим ресурсам. Например, операция удаления или удаления ресурса может быть каскадно передана ресурсам-потомкам.
- Ресурсы могут присоединяться к каскадной структуре через плагин. Присоединение к каскадной структуре или выход из нее не повлияет на другие ресурсы.
- Механизм каскадирования делает настройку ZStack более гибкой и простой, отвечающей требованиям изменения конфигурации ресурсов.
- Полная автоматизация с помощью Ansible: автоматическое развертывание с помощью Ansible без агента
- Будучи полностью интегрированным с Ansible (который не требует агентов), ZStack может автоматически устанавливать зависимости, настраивать физические ресурсы и развертывать агенты. Весь этот процесс прозрачен для пользователей и не требует дополнительного вмешательства. Вы можете обновить своих агентов, просто повторно подключив их.
- Комплексный API запросов: можно запросить каждое свойство каждого ресурса.
- ZStack поддерживает миллионы условий запросов, комплексные API-интерфейсы запросов и любые комбинации условий.
 |
Если вирус-вымогатель или вирус-шифровальщик проникнет в информационную систему вашей компании, то единственным возможным решением этой проблемы будет восстановление данных из резервных копий.
Не ждите этого события. Обратитесь в нашу компанию для получения консультации о современных технологиях резервного копирования и восстановления данных. Наша компания имеет более чем 20-летний опыт в этой области.
|