2025-12-27, #Сайт

v2.000


Микросервисы

В 2025 году, мы работали над микросервисами и под капотом нашего проекта навели порядок.

Что такое микросервисы?

Микросервисы — это архитектурный стиль, при котором приложение разбивается на набор небольших, независимых друг отдруга сервисов, каждый из которых отвечает за отдельную бизнес-функцию, имеет свою логику и базу данных, взаимодействуя с другими через API, что обеспечивает гибкость, масштабируемость и отказоустойчивость, но требует управления сложной распределенной системой.

Какие микросервисы уже есть?

Первым делом мы вынесли самую мелочь, это получение магнитную активность нашего светила в отдельный сервис, и наш раздел https://qso.su/ru/sun уже работает на этом микросервисе и API методы версии 2.0 уже работают на нём getMagneticStormCurrent и getMagneticStormHistory.

Споты

Мы сделали микросервис, который может подключаться к нескольким спот-серверам и помогает нам ретранслировать данные в нашу систему через TLS сокет (который используется в QSO Logger) для реализации раздела споты и через WSS (WebSocket Secure) который уже применяется для реализации раздела спотов на сайте https://qso.su/ru/spot.

А что дальше? В QSO Logger уже есть фильтры, так же появится и на сайте, из QSO Logger v3.0 можно отправлять споты, но отправленные споты будут видеть только наши пользователи. Функционал для отправки спота на сервера есть, но пока он закрыт, нужно решить некоторые юридические и этические вопросы.

Callbook

Мы решили вынести наш Сallbook в отдельный сервис, для ускорения работы и снятия нагрузки на нашем основном сервере. Сейчас сервис в стадии тестирования, есть множество вопросов которые нужно решить. Задача звучит просто, есть позывной, есть множество Сallbook, проходим по всем, собираем, дополняем информацию и готово. Однако, не всё так просто, вопросы приоритетов данных, приоритеты сервисов в зависимости от страны позывного и так далее. По этому в 2026 году нас ждёт отличный Сallbook.

Очень хочется дать этот инструмент для всех, при этом сохранив актуальность данных и скорость работы.

Файлы

Ранее писали в журнале изменений https://qso.su/ru/changelog/25 как мы хорошо решили проблему с памятью и хранением файлов. Это было хороший прорыв, однако пошли дальше. Задача: Нужен единый вход и выход файлов, но хранилища должны быть распределены. Так родился микросервис по работе с файлами.

У нас есть два главных, внутренних метода API для загрузки файла и для получения файла. Загружая файл, система самостоятельно определяет хранилище, директории и имеет возможность архивировать файлы для экономии памяти. Так, мы избавились в проекте от сложной логики при работе с файлами, время на архивацию, время на отправку по FTP на сервера.

В скором времени на сайте будет обновлён раздел хранилище журналов, и будет создан API в версии 2.0, что бы дать возможность пользователям через QSO Logger загружать журналы adif.

Как этот микросервис будет использоваться ещё?

В планах — запуск новостного раздела с поддержкой загрузки изображений. Данный микросервис уже используется: это видно по тому, что в записях журнала изменений мы публикуем материалы с прикреплёнными изображениями.

Почта:

Да, почта это самая проблемная часть нашего проекта была в будущем, многие помнят тот этап жизни нашего рунета, когда письма просто не доходили на иностранные почтовые сервисы. Да, часть проблемы были в наших серверах, часть проблемы балы глобальная. Что бы минимизировать потерю писем, мы реализовали микросервис по отправке электронной почты, пока в стадии тестирования.