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

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

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

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

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

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

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

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

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

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

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

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

Все подборки
  • Python17 105
  • Облачные технологии14 073
  • QA вакансии3 460
  • Backend вакансии2 098
  • Инженер данных1 805
  • Продакт-менеджер1 266

Разработка

  • Android1 866
  • iOS1 699
  • Fullstack вакансии979
  • AI вакансии951
  • Frontend вакансии742
  • Mobile вакансии44

По стеку

  • Go8 651
  • Java6 544
  • Node.js2 018
  • .NET1 719
  • Kotlin1 623
  • Rust1 453
  • C#709
  • PHP683
  • C++571

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

  • Kubernetes7 763
  • DevOps вакансии6 057
  • Linux-инфраструктура5 492
  • Terraform / IaC4 261
  • CI/CD3 240
  • Мониторинг и Observability1 783
  • SRE566
  • Кибербезопасность453

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

  • Data Scientist1 140
  • Бизнес-аналитик930
  • Аналитик данных853
  • Системный аналитик154

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

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

По регионам

  • Вакансии в США43 685
  • Вакансии в Европе23 862
  • Вакансии в Канаде4 413
  • Работа в России3 909

По формату

  • Удалённые вакансии73 887
  • Релокация в США43 685
  • Гибридная работа12 392
  • Офисная работа7 088

По уровню

  • Senior вакансии42 236
  • Middle вакансии20 545
  • Junior вакансии6 653

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

Все компании
  • Wise190 вакансий
  • Rakuten189 вакансий
  • ASML166 вакансий
  • Grab138 вакансий
  • Celonis39 вакансий
  • Spotify36 вакансий
  • Adyen29 вакансий
  • Infobip28 вакансий
  • Monzo20 вакансий
  • Darktrace16 вакансий

Вакансии из 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 вакансии
  • Senior Front-end Enginer with React
  • Senior Data Security Engineer
  • Software Developer – Analytics Data Platform (Data Reliability)
  • Senior Engineer, Data Platform & Governance
  • Senior QA Engineer - US Remote