Конфигурация сервера и архитектура системы
// Умные часы / GPS-трекеры / RFID / Устройства Интернета вещей
Traxbean электронная система мониторинга - это платформа безопасности и здоровья на основе архитектуры SaaS, специально разработанная для обеспечения всестороннего мониторинга для целей заботы. Эта платформа в основном зависит от умных часов, умных GPS-трекеров, Bluetooth-маяков и устройств Интернета вещей для реального времени мониторинга информации о местоположении людей, их поведенческих шаблонах и показателях здоровья.Наши решения включают в себя:
Электронный мониторинг в обществе исправления: Для контроля за лицами, находящимися на исправительных работах вне тюрем.
Мониторинг персонала на строительных площадках, в шахтах и крупных объектах.
Мониторинг пожилых людей и особых групп.
Traxbean предоставляет гибкие варианты обслуживания, клиенты могут непосредственно использовать нашу платформу для предоставления услуг своим конечным клиентам или выбрать частное развертывание. Независимо от того, используется ли облачный сервер Traxbean или проводится частное развертывание, мы можем предоставить высококастомизированные услуги, включая брендинг клиента, экран входа, язык страны и кастомизацию определенных функций и стилей интерфейса. Кроме того, Traxbean предоставляет не только веб-интерфейс входа, но также разработал мобильное приложение и предоставляет решения для крупных LED-дисплеев для клиентов с частным развертыванием, широко используемых в колл-центрах.
Система Traxbean использует передовую концепцию распределенного дизайна, обладает мощной гибкостью и масштабируемостью, поддерживает миллионные уровни одновременных подключений, способна обслуживать тысячи предприятий одновременно и становится идеальным выбором для крупных платформ электронного мониторинга. В частном развертывании все компоненты и базы данных могут быть установлены на одном сервере, что позволяет снизить затраты на использование и сложность обслуживания.
Кроме того, Traxbean также может предоставлять RESTful API для сторонних платформ или мобильных приложений, упрощая процесс интеграции систем клиентов и обеспечивая безшовную интеграцию с другими системами.
Платформа интеллектуального позиционирования персонала Traxbean
В соответствии с требованиями к нагрузке различных умных часов и устройств интернета вещей, система электронного мониторинга Traxbean может быть развернута на одном сервере в случае небольшого количества устройств и небольшого числа пользователей. Архитектура системы состоит из трех основных модулей:
1. Шлюз: отвечает за общение с умными часами и устройствами интернета вещей, обеспечивая передачу данных в реальном времени.
2. API: является центральным слоем базы данных и бизнес-логики, взаимодействие всех сервисов происходит через этот модуль.
3. Приложение: предоставляет интерфейс управления и бизнес-процессы, облегчая пользователю операции и мониторинг.
Вся система разработана на Node.js, используя TypeScript в качестве языка разработки. Для бизнес-базы данных используется MySQL, одновременно внедряется Redis для управления очередями и кэширования для оптимизации производительности. Кроме того, MongoDB используется для хранения данных, связанных с устройствами, включая данные о местоположении, статусе, здоровье и предупреждениях. MongoDB является базой данных с наибольшей частотой доступа к данным и наибольшим объемом запросов, а система разработана с учетом требований к эффективному запросу и гибкому безопасному хранению долгосрочных данных.
Способ развертывания программного обеспечения на одном сервере платформы
Traxbean электронная система мониторинга является программным обеспечением, независимым от платформы, и может работать на серверах Linux и Windows. Например, для поддержки 5000 умных часов (80% одновременного онлайн-режима) рекомендуемая конфигурация сервера следующая:
Сервер Windows:
– ЦП: 8 ядер ≥ 2.5 ГГц, память: ≥ 32 ГБ, SSD-накопитель ≥ 500 ГБ, IOPS ≥ 5000, операционная система: Windows Server 2016 и выше.
– Программное обеспечение: Node.js, PM2, Nginx, MySQL, MongoDB, Redis.
Сервер Linux:
– ЦП: 8 ядер ≥ 2.5 ГГц, память: ≥ 32 ГБ, SSD-накопитель ≥ 500 ГБ, IOPS ≥ 5000, операционная система: Ubuntu 20.04 и выше или CentOS 8.0 и выше.
– Программное обеспечение: Node.js, PM2, Nginx, MySQL, MongoDB, Redis.
Эта конфигурация обеспечивает эффективную работу системы и удовлетворяет требованиям хранения исторических данных в течение шести месяцев.
Требования платформы к серверу
Мы в основном обслуживаем профессиональных клиентов, которым необходимо управлять большим количеством онлайн-устройств, таких как умные часы и другие устройства интернета вещей. Для этого клиенты обычно разворачивают три или более серверов для запуска платформы Traxbean, чтобы обеспечить более высокое количество одновременных подключений, учитывая также резервное копирование данных, обработку аварий и быстрое восстановление после сбоев.
Хотя эта архитектура довольно сложна и не может быть подробно описана в одной статье, мы можем предложить общую концепцию развертывания. Мы рекомендуем развернуть базу данных, шлюз и приложение на трех разных серверах. Компонент API устанавливается на сервере, где находится основная база данных, чтобы повысить эффективность доступа к данным и упростить обслуживание. Сервер шлюза также устанавливает MongoDB и Redis, поскольку шлюзу необходимо обрабатывать очереди и большое количество данных от устройств, что позволяет повысить эффективность обработки.
Эта архитектура с тремя серверами имеет схожую конфигурацию с упомянутой выше конфигурацией серверов и способна обрабатывать количество одновременных подключений в 3-5 раз больше, чем один сервер. Если вам нужны дополнительные детали, не стесняйтесь обращаться к нашим инженерам.
Распределенная архитектура с несколькими серверами
Когда требуется управлять большим количеством устройств, подключенных к сети одновременно, архитектура с одним или тремя серверами может быть неэффективной для обработки огромного объема данных. Продолжение использования такой архитектуры может привести к сбоям системы, увеличению задержек данных и значительному снижению скорости запросов. Поэтому нам необходимо начать с внедрения шлюза, чтобы решить эти проблемы.
Мы внедрим балансировщик нагрузки, который распределит огромный объем данных на несколько серверов для обработки. Внедрение балансировщика нагрузки позволит нам динамически масштабировать серверы в зависимости от увеличения количества устройств онлайн, не затрагивая нормальную работу системы. Эта возможность динамического масштабирования повышает гибкость и масштабируемость системы.
Для дальнейшего увеличения эффективности обработки данных, хранилище данных MongoDB будет развернуто на том же сервере, что и шлюз. MongoDB будет работать в виде набора реплик с другими экземплярами MongoDB. Эта конфигурация не только повышает избыточность и доступность данных, но также значительно увеличивает эффективность запросов данных на уровне приложения, обеспечивая быстрый отклик системы даже при высокой нагрузке. Этот дизайн архитектуры объединяет балансировку нагрузки и эффективное хранилище данных, соответствуя потребностям управления устройствами в большом масштабе.
Слой шлюза балансировки нагрузки для поддержки высокой производительности при параллельной обработке
Когда платформа Traxbean сталкивается с более сложными проблемами, такими как обслуживание клиентов по всему миру, обработка огромного количества онлайн-устройств и удовлетворение потребностей клиентов из разных стран и регионов, нельзя полагаться только на группу балансировщиков нагрузки. Для этого нам нужно развернуть центры обработки данных на каждом континенте, чтобы обеспечить наличие серверов в каждом регионе для эффективной обработки данных.
Получение данных через локальные центры обработки может значительно увеличить скорость ответа и эффективность передачи данных. Путем построения реплицируемой архитектуры между центрами данных через основную сеть мы можем обеспечить реальное время синхронизации данных. Эта архитектура гарантирует своевременность глобальных данных и предотвращает потерю данных из-за задержек в сети. Например, когда пользователь из азиатского филиала запрашивает данные из Европы, реплицируемая архитектура может значительно сократить задержку запроса, улучшая общую производительность системы.
Кроме того, использование такой распределенной архитектуры укрепляет отказоустойчивость и масштабируемость системы, поддерживая динамическое добавление серверов для удовлетворения постоянно растущего количества онлайн-устройств и запросов пользователей. Сочетание высокоскоростных соединений между центрами данных и настройки балансировщиков нагрузки позволяет системе гибко реагировать на потребности различных регионов, обеспечивая эффективность и стабильность обработки данных. Общая архитектура показана на рисунке.
Глобальная распределенная архитектура центров обработки данных между континентами
В сценарии управления большим количеством онлайн-устройств в корпоративной среде пользователи могут находиться в разных регионах и часовых поясах, часто запрашивая данные. Поэтому помимо обеспечения высокой производительности балансировки нагрузки на шлюзах приема данных, наш дизайн также должен включать балансировку нагрузки на уровне приложения.
На уровне приложения нам необходимо, чтобы балансировщик нагрузки не только интеллектуально распределял запросы на разные серверы, но также максимально локализовал обработку данных для снижения задержек. Для частых запросов данных мы будем использовать архитектуру чтения-записи, где главная база данных отвечает за операции записи, а вспомогательная база данных сосредотачивается на запросах на чтение. Таким образом, обеспечивается не только согласованность данных, но и повышается эффективность запросов за счет избыточности данных, гарантируя быстрый отклик системы при высокой нагрузке.
Кроме того, учитывая потребность в хранении большого количества изображений и видеофайлов в системе, нам необходимо оптимизировать стратегию управления файлами. Прямая синхронизация файлов на различные серверы приложений за балансировщиком нагрузки не является целесообразной, поэтому мы внедрим решение для хранения объектов (например, AWS S3 или аналогичный сервис), где будут храниться и управляться крупные файлы. Это позволит не только снизить нагрузку на серверы приложений, но и повысить скорость доступа к файлам через CDN (сеть доставки контента), обеспечивая быстрое скачивание и просмотр медиаконтента пользователями в любом регионе.
Таким образом, наш дизайн уделяет внимание не только эффективной обработке данных и балансировке нагрузки, но также учитывает оптимизацию управления и хранения файлов, чтобы создать эффективную, гибкую и глобально отзывчивую архитектуру системы.
Интегрированная архитектура балансировки нагрузки на уровне приложения и CDN
ThinkRace - это завод по производству умных часов. Хотя мы не являемся традиционной программной компанией, но благодаря более чем десятилетнему труду и упорству, мы участвовали в сотнях крупных проектов, включая такие важные мероприятия, как Специальные Олимпийские игры мира. Наши партнеры распространены по всему миру, мы тесно сотрудничаем с более чем 20 операторами связи, наши продукты и программное обеспечение широко применяются в более чем 50 странах, включая некоторые министерства здравоохранения и юстиции.
В ходе этого процесса мы всегда верили, что обеспечение безопасности и здоровья рабочих - наша миссия и ответственность. Наши продукты и программное обеспечение помогают управлять сотнями строительных площадок, обеспечивая внимание и защиту каждому рабочему. Это не только наш бизнес, но и наше обязательство перед обществом. Сталкиваясь с вызовами, мы всегда помним свою первоначальную цель, усердно работаем над повышением качества работы, потому что мы глубоко понимаем, что это касается жизни и здоровья каждого человека.
Хотя мы, возможно, не являемся лучшей программной компанией в отрасли и не обязательно достигли совершенства в документации и дизайне, но мы верим, что именно эта преданность миссии и ответственность перед обществом делают нас самой внимательной командой в этой области. Мы будем продолжать усердно работать, стремясь к превосходству, борясь за создание более безопасного и здорового будущего.
Глобальная распределенная архитектура центров обработки данных по всему миру