Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

+717новых вакансий за сутки·52 588вакансий открыто сейчас·Новое:Talanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Новые вакансии в TelegramРаботодателям
Talanto
Вакансии
Компании5 748
РезюмеAIПодготовкаСтатьи
ТарифыТарифы
Войти

Не нашли подходящее?

Пусть нужная вакансия найдёт вас сама.

  1. Подборка в TelegramНовые вакансии по вашему фильтру — сразу в бота.Подключить
  2. Мэтчи по резюмеЗагрузите резюме — покажем, где вы подходите лучше всего.Загрузить
  3. Сохранить фильтрНастройте поиск один раз и возвращайтесь к новым вакансиям.Настроить
Что нового на TalantoTalanto осенью: поиск с цифрами, вакансия по шагам и каталог компаний

Для работодателей

Опубликуйте вакансию — отклики придут в ваш кабинет.

  1. Вакансиябесплатно
  2. Откликиконтакты бесплатно
  3. Наймэтапы и интервью

40 компаний публикуют вакансии напрямую · 4 391 кандидат открыт к предложениям

Разместить вакансию

Популярные направления

Все подборки
  • Python5 437
  • Облачные технологии4 076
  • QA вакансии1 588
  • Android1 093
  • Инженер данных805
  • Продакт-менеджер368

Разработка

  • iOS1 047
  • Backend вакансии996
  • Fullstack вакансии441
  • Frontend вакансии355
  • AI вакансии354
  • Mobile вакансии27

По стеку

  • Go2 987
  • Java1 810
  • Kotlin868
  • Node.js675
  • Rust436
  • .NET434
  • PHP248
  • C++204
  • C#190

DevOps и инфраструктура

  • Kubernetes2 308
  • Linux-инфраструктура1 890
  • DevOps вакансии1 678
  • Terraform / IaC1 406
  • CI/CD842
  • Мониторинг и Observability645
  • SRE226
  • Кибербезопасность84

Аналитика и данные

  • Аналитик данных483
  • Data Scientist469
  • Бизнес-аналитик349
  • Системный аналитик48

Другие направления

  • Проджект-менеджер139
  • UI/UX дизайн71
  • Ручное тестирование14

По регионам

  • Вакансии в США24 791
  • Вакансии в Европе9 439
  • Работа в России2 924
  • Вакансии в Канаде2 178

По формату

  • Удалённые вакансии43 505
  • Релокация в США24 791
  • Гибридная работа3 370
  • Офисная работа2 525

По уровню

  • Senior вакансии20 898
  • Middle вакансии12 438
  • Junior вакансии3 864

Сейчас нанимают

Все компании
  • Rakuten188 вакансий
  • ASML163 вакансии
  • Grab134 вакансии
  • Wise71 вакансия
  • Infobip28 вакансий
  • Darktrace17 вакансий
  • Spotify14 вакансий
  • Celonis11 вакансий
  • Razorpay9 вакансий
  • Adyen8 вакансий

Вакансии из 344 источников: карьерные страницы компаний и джоб-борды.

КомпанииО насНовостиПубличная офертаУсловия использованияПолитика конфиденциальностиПоддержка
←К теме AWSВсе вопросы
AWSMiddleТеория

Что такое fan-out pattern SNS → SQS?

В закладки
Сначала попробуйте ответить сами30 секунд
Сравнить с ответом ↓

Producer публикует событие в SNS topic один раз — SNS доставляет копию в каждую подписанную SQS-очередь. Каждый consumer получает независимый буфер, DLQ и retry policy. Filter policy позволяет очереди получать только релевантные типы событий.

Настройка через AWS CLI + Python

# 1. Создаём SNS topic
aws sns create-topic --name order-events
# -> TopicArn: arn:aws:sns:eu-west-1:123456789012:order-events

# 2. Создаём SQS очереди для каждого consumer
aws sqs create-queue --queue-name billing-orders
aws sqs create-queue --queue-name warehouse-orders
aws sqs create-queue --queue-name analytics-orders

# 3. Подписываем каждую очередь на topic
aws sns subscribe \
  --topic-arn arn:aws:sns:eu-west-1:123456789012:order-events \
  --protocol sqs \
  --notification-endpoint arn:aws:sqs:eu-west-1:123456789012:billing-orders
import boto3
import json

sns = boto3.client('sns', region_name='eu-west-1')

TOPIC_ARN = 'arn:aws:sns:eu-west-1:123456789012:order-events'

# Producer публикует событие один раз — SNS рассылает в все три очереди
def emit_order_created(order_id: str, customer_id: str, total: float):
    sns.publish(
        TopicArn=TOPIC_ARN,
        Message=json.dumps({
            'order_id': order_id,
            'customer_id': customer_id,
            'total': total,
            'version': '1'
        }),
        MessageAttributes={
            # Filter policy по этому атрибуту позволяет отфильтровать
            # события на стороне SNS до попадания в очередь
            'event_type': {
                'DataType': 'String',
                'StringValue': 'OrderCreated'
            }
        }
    )

Fan-out SNS → SQS

Fan-out — архитектурный паттерн, при котором одно событие обрабатывается несколькими независимыми системами одновременно. SNS публикует событие один раз, а каждая подписанная SQS-очередь получает свою копию. Это позволяет billing, warehouse и analytics работать независимо: разный темп, своя DLQ, свой visibility timeout.

Filter policy: подписка только на нужные события

# Применяем filter policy к подписке analytics-orders:
# они хотят только крупные заказы (event_type=OrderCreated)
SUBSCRIPTION_ARN="arn:aws:sns:eu-west-1:123456789012:order-events:subscription-id"

aws sns set-subscription-attributes \
  --subscription-arn $SUBSCRIPTION_ARN \
  --attribute-name FilterPolicy \
  --attribute-value '{"event_type": ["OrderCreated", "OrderUpdated"]}'

SQS Queue Policy — разрешаем SNS писать в очередь

{
  "Version": "2012-10-17",
  "Statement": [{
    "Effect": "Allow",
    "Principal": {"Service": "sns.amazonaws.com"},
    "Action": "sqs:SendMessage",
    "Resource": "arn:aws:sqs:eu-west-1:123456789012:billing-orders",
    "Condition": {
      "ArnEquals": {
        "aws:SourceArn": "arn:aws:sns:eu-west-1:123456789012:order-events"
      }
    }
  }]
}

Подводные камни

  • Не добавить SQS Queue Policy с разрешением sqs:SendMessage для SNS: delivery молча упадёт, сообщения не дойдут, и это трудно заметить без DLQ или метрик.
  • Не настроить DLQ на каждой очереди: отравленное сообщение будет крутиться до maxReceiveCount, блокируя throughput и маскируя баг в consumer.
  • Игнорировать idempotency: каждая очередь получает копию, но при SNS retry (при недоступности) или re-drive из DLQ consumer может получить дубликат — должен обрабатывать его безопасно.
  • Не версионировать схему события: если producer добавит новое обязательное поле без согласования, все downstream consumers сломаются одновременно.
  • Смешивать Standard и FIFO очереди без понимания: SNS FIFO topic работает только с SQS FIFO queues, а throughput ограничен 300 msg/s (3000 с batching).
  • Не следить за метрикой NumberOfMessagesSent на topic и ApproximateNumberOfMessagesNotVisible на очередях: можно пропустить накопление backlog у одного из consumers.
  • Использовать filter policy с атрибутом типа Number для строковых значений: SNS не приведёт тип автоматически, фильтр не сработает и очередь будет получать всё подряд.
  • Не тестировать cross-account fan-out: если topic и очередь в разных AWS accounts, resource policy нужна с обеих сторон, и это частый источник production-инцидентов при первом деплое.

Частые вопросы на собеседовании

  • Спроектируй highly available web-приложение в AWS.
  • Что такое RTO и RPO?
  • Как организовать multi-account стратегию в AWS Organizations?
  • Что технически делает subnet публичным?

Типичные ошибки

  • Подключать всех consumers к одной SQS queue и ожидать fan-out.
  • Не настраивать queue policy для SNS delivery.
  • Забывать DLQ и idempotent processing.

Что проверяет интервьюер

  • Описывает SNS topic и отдельные SQS queues.
  • Учитывает retries, DLQ и filters.
  • Понимает независимость consumers.

Как вы знаете этот вопрос?

Проверить себя по теме AWS →

Источники

  • https://docs.aws.amazon.com/sns/latest/dg/sns-sqs-as-subscriber.html
  • https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html
  • https://docs.aws.amazon.com/sns/latest/dg/welcome.html

Связанные темы

AWSmessaging-architectureresilient-processing

Вакансии с этим навыком

AWS вакансии
  • Middle/Senior Go Разработчик [MWS Cloud Platform]
  • Senior Engineering Manager (#5779)
  • Middle AI/ML Engineer (#5827)
  • Senior DataOps Engineer (#5858)
  • Voice AI Engineer (Real-Time Speech) (#5861)