TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
GetAnalyst - Навыки • Системный анализ • Бизнес-анализ

15 May 2025, 16:45

Open in Telegram Share Report

🛠 5 способов определения микросервисов 🛠

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

Другими словами — это небольшие сервер-приложения с их собственными БД.

Ниже — примеры применения 5 ключевых подходов к декомпозиции сложной системы на микросервисы на примере проекта #GreenChargeGA по зарядке электромобилей.

-----------

1️⃣ По группам функций

Каждый МС объединяет логически связанные функции.

➕ Пользователи: регистрация, управление профилями пользователей
➕ Станции: управление зарядными станциями, их активностью, геолокацией для отражения на карте
➕ Бронирования: бронирование очереди на зарядку
➕ Биллинг: расчёт стоимости заправки, интеграция с платёжным провайдером, формирование чеков
➕ Уведомления: push/sms/email-уведомления о завершении заправки, подтверждении регистрации, коды для аутентификации
➕ Тех. поддержка: работа чат-ботов, обработка обращений пользователей

-----------

2️⃣ По доменам (DDD - Domain Driven Design)

Выделяем bounded contexts (ограниченные контексты) по предметным областям.

➕ Домен “Станции”
Управление статусом зарядки. Геолокация станций. Актуальные цены на зарядку.
➕ Домен “Пользователи”
Профили, регистрация, история сеансов.
➕ Домен “Платежи”
Интеграция с платежным провайдером, проведение платежей и формирование платежных документов, возвраты, отчеты о продажах.

-----------

3️⃣ По данным

Каждый МС управляет узким набором сущностей.

➕ Пользовательские сессии: аккаунты, авторизации, история входов
➕ Станции зарядки: локации, конфигурации, цены
➕ Сеансы зарядки: продолжительность, израсходованная энергия
➕ Платежи: чек, статус транзакции
➕ Обращения пользователей: запросы, ответы, статусы

-----------

4️⃣ По пользовательским сценариям

МС обслуживает конкретный Use Case.

➕ Поиск зарядной станции и бронирование места в очереди.
➕ Процесс зарядки: старт и авторизация банковской карты, обработка данных об израсходованной энергии и расчет итоговой стоимости, списание итоговой суммы за зарядку.
➕ Возврат средств.

-----------

5️⃣ По уровню нагрузки

Высоконагруженные и обычные части системы выделяются в отдельные сервисы со своими SLA и требованиями к масштабируемости.

➕ Поиск станции (много запросов по геолокации, особенно в «пиковые» часы).
➕ Сбор телеметрии (станция шлёт данные каждую 5 секунду, высокая частота).
➕ Обработка платежей (всплески нагрузки в моменты массовых зарядок).

-----------

Как видно из примеров, разные подходы могут приводить к одним и тем же микросервисам. На практике их часто используют совместно.

👉 Сочетайте методы декомпозиции и подробно фиксируйте принципы выбора микросервисов в рамках проекта — это поможет избежать неясностей и обеспечит гибкость при развитии проекта.


#АрхитектураGA

4.3k 0 117 42
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot