Программирование на Python
Kafka, Python и золотая рыбка
Поймал как-то программист золотую рыбку, а она ему и говорит человеческим голосом: "Отпусти меня в синее море, я исполню любое твое желание". Программист ЦПУшечкой поскрипел, да и выдал техзадание. "Построй мне", – говорит, – "систему обработки неидемпотентных запросов, да чтоб она была высокопроизводительной, масштабируемой, гибкой и отказоустойчивой!". Охнула сперва золотая рыбка, но взяла себя в плавники и молвила: "Не печалься, ступай себе домой, код написан, система развернута. Отпускай меня уже»...
Выбор брокера сообщений Для асинхронного взаимодействия сервисов используются брокеры сообщений. Читая книгу о микросервисах, нашел набор факторов, которые нужно учесть, выбирая брокер для той или иной задачи. — Поддерживаемые языки программирования. Пункт достаточно банальный, но лучше выбрать брокер с поддержкой широкого диапазона языков программирования. — Поддерживаемые стандарты обмена сообщениями. Поддерживает ли брокер сообщений стандарт вроде AMQP или STOMP? Использует ли он свой закрытый протокол? — Порядок следования сообщений. Сохраняет ли брокер порядок следования сообщений? Кстати неплохой вопрос на собеседовании: гарантирует ли Кафка упорядоченность сообщений и за счёт чего? — Гарантии доставки. Какие гарантии доставки даёт брокер сообщений? — Постоянное хранение. Сохраняются ли сообщения на диск? Могут ли они пережить сбой брокера? — Устойчивость. Если потребитель переподключится к брокеру, получит ли он сообщения, отправленные, пока он был отключен? — Масштабируемость. Насколько масштабируем брокер сообщений? — Латентность. Каковы задержки при передачи информации? — Конкурирующие потребители. Поддерживает ли брокер сообщений конкурирующих потребителей? Если понравился пост, будем рады вашему лайку. В тг-канале DevFM мы разбираем разные нюансы из жизни разработчика на Python и не только. Вам могут понравиться посты Как kafka хранит данные и Зелёные потоки в Python. #skills