Перейти к содержимому
шпаргалка.
Esc
навигацияоткрыть⌘Jпредпросмотр
На этой странице

MS Azure

Все темы С# Developer

Какие виды сервисов бывают в Service Fabric?

Виды сервисов в Service Fabric:

  1. Stateless Services (Бестатусные сервисы):
    • Описание: Сервисы, которые не сохраняют внутреннее состояние между вызовами.

    • Примеры использования: Веб-серверы, обработчики запросов, микросервисы, где состояние не нужно сохранять.

    • Преимущества: Легкость масштабирования, отсутствие необходимости синхронизации состояния.

  2. Stateful Services (Сервис с состоянием):
    • Описание: Сервисы, которые сохраняют состояние внутри Service Fabric.

    • Примеры использования: Системы, требующие сохранения состояния между вызовами, такие как корзины покупок, банковские системы.

    • Преимущества: Высокая доступность и надежность данных, встроенные механизмы репликации и восстановления.

  3. Reliable Actors (Надежные акторы):
    • Описание: Модель программирования на основе акторов, где каждый актор является экземпляром класса с состоянием и поведением.

    • Примеры использования: Игровые объекты, IoT устройства, личные профили пользователей.

    • Преимущества: Простота программирования, встроенная поддержка состояния и асинхронного выполнения.


Какие особенности и ограничения Azure Table Storage?

Azure Table Storage:

Особенности:
  1. NoSQL хранилище:
    • Хранилище данных без строгой схемы, подходящее для хранения структурированных данных.
  2. Высокая масштабируемость:
    • Поддержка больших объемов данных с горизонтальным масштабированием.
  3. Доступ по ключам:
    • Быстрый доступ к данным с использованием PartitionKey и RowKey.
  4. Доступ через REST API:
    • Доступ к данным через HTTP REST API.
  5. Низкая стоимость:
    • Экономически эффективное хранилище для больших объемов данных.
  6. Интеграция с другими Azure сервисами:
    • Легкая интеграция с другими сервисами Azure.

Ограничения:

  1. Ограниченная функциональность запросов:
    • Поддерживаются только простые запросы, отсутствие сложных операций фильтрации и агрегирования.
  2. Ограниченный размер сущностей:
    • Максимальный размер одной сущности – 1 МБ.
  3. Ограничения на транзакции:
    • Транзакции возможны только в пределах одной партиции (PartitionKey).
  4. Ограниченная производительность при высоких нагрузках:
    • Производительность может уменьшаться при интенсивном использовании.

Azure Table Storage – это высокомасштабируемое, экономичное NoSQL хранилище данных, подходящее для хранения больших объемов структурированных данных с быстрым доступом по ключам. Однако, оно имеет ограничения в функциональности запросов, размере сущностей и транзакциях, что делает его не всегда подходящим для сложных сценариев обработки данных.


Как бороться с проблемой холодного старта в Azure Functions?

Холодный старт происходит, когда функция активируется после периода бездействия, вызывая задержки из-за инициализации среды выполнения.

Способы борьбы с холодным стартом:

  1. Использование Premium Plan или Dedicated (App Service) Plan:
    • Описание: Premium позволяет держать готовые экземпляры, а Dedicated требует настройки Always On. Это снижает задержки холодного старта; запуск новых экземпляров и инициализацию приложения все равно нужно учитывать.

    • Преимущества: Быстрый запуск, выделенные ресурсы.

    • Недостатки: Более высокая стоимость.

  2. Pre-Warmed Instances (Тёплые инстансы):
    • Описание: Premium Plan позволяет настраивать преднагрев инстансов, чтобы всегда иметь готовые к работе функции.

    • Преимущества: Снижение задержек при запуске.

    • Недостатки: Зависит от плана Premium.

  3. Always On в App Service Plan :
    • Описание: Для функций, размещенных в App Service Plan, включение опции Always On предотвращает усыпление приложения.

    • Преимущества: Постоянная готовность.

    • Недостатки: Увеличение затрат.

  4. Регулярные вызовы ( Keep-Alive ):
    • Описание: Настройка периодических вызовов функции для поддержания активности.

    • Преимущества: Уменьшение частоты холодных стартов.

    • Недостатки: Может увеличить количество вызовов и связанные с этим затраты.

  5. Разделение функций:
    • Описание: Разделение тяжеловесных и легковесных функций, чтобы минимизировать влияние холодного старта на критичные функции.

    • Преимущества: Оптимизация производительности для ключевых функций.

    • Недостатки: Усложнение архитектуры.

Для борьбы с проблемой холодного старта в Azure Functions можно использовать более дорогие планы (Premium или Dedicated), настроить преднагрев инстансов, включить Always On в App Service Plan, использовать keep-alive запросы или разделить функции на тяжеловесные и легковесные. Выбор подходящего метода зависит от требований к производительности и бюджета.


В чем отличие очередей и топиков в Azure Service Bus?

Очереди и топики в Azure Service Bus :

Очереди (Queues):

Описание:
  • Модель “точка-точка”: Сообщения передаются от отправителя к одному получателю.

  • Порядок: для упорядоченной обработки связанных сообщений используйте sessions с общим SessionId. Обычная очередь с конкурирующими получателями не гарантирует порядок завершения обработки.

  • Один получатель: Каждое сообщение обрабатывается только одним получателем.

Применение:
  • Сценарии, где требуется гарантированная обработка сообщений одним потребителем.

  • Примеры: обработка заказов, задачи очереди.

Топики (Topics):

Описание:
  • Модель “публикация-подписка”: Сообщения передаются от отправителя к нескольким подписчикам.

  • Фильтрация и подписки: Подписчики могут получать только интересующие их сообщения с помощью правил фильтрации.

  • Много получателей: Каждое сообщение может быть получено и обработано несколькими подписчиками.

Применение:
  • Сценарии, где одно сообщение должно быть доставлено нескольким потребителям.

  • Примеры: уведомления, рассылка событий.

Итог:

  • Очереди распределяют сообщения между конкурирующими получателями. Возможны повторные доставки; для FIFO по группе сообщений используются sessions.

  • Топики: Используются для передачи сообщений от одного отправителя к нескольким получателям, поддерживая модель “публикация-подписка” с возможностью фильтрации сообщений для подписчиков.

Эта страница была полезной?