Страница телеграм канала Pepegramming

pepegramming logo

Pepegramming

587 подписчиков

Грустно о программировании. Все проблемы сюда: @davydovanton Ссылки на конкретные посты: http://telegra.ph/Pepegramming-Contents-03-11 Обратная связь: https://goo.gl/forms/iUd1Gufq6WnTsaO62


Входит в категории: Технологии
Pepegramming
18.09.2020 16:09
Пятничное чтиво Старые записи стримов можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— A plain English introduction to CAP theorem Brewer’s CAP Theorem CAP теорема необходима в распределенных системах, так как говорит что в подобных системах можно добиться двух из трех свойств: согласованности данных, доступности и partition tolerance. Понимание теоремы пригодиться при выборе оптимальной базы данных. А что бы разобраться с теоремой - две статьи. В первой - на примере выдуманного сервиса и без каких либо усложнений описывается как теорема работает на примере коммуникаций между людьми. Во второй - технический текст, с описанием каждого из свойств, картинками и вариантами использования теоремы. Советую начать с первой, а потом уже читать вторую статью. Русский перевод первой статьи ————————————— Where Is My Cache? Architectural Patterns for Caching Microservices Кеширование - боль, а в (микро)сервисной архитектуре двойная боль. В статье описывается 4 паттерна (для некоторых из паттернов есть 2 варианта развития), которые помогут спроектировать кеширование в подобных архитектурах. Эти паттерны: Embedded Cache, Client-Server, Sidecar и Reverse Proxy. Для каждого паттерна дается описание, картинка и в самом конце proc&cons. ————————————— Фонтанный код Я люблю космос и все что с ним связанно, поэтому блог Алексея отдушина для меня. В статье описывается алгоритм фонтанного кода. Такой алгоритм позволяет надежно передавать данные по каналу с потерями без обратной связи и с минимальными накладными расходами. Что может помочь в передачи данных между планетами, как пример. В тексте разбирается алгоритм и говорится о следующем шаге - Raptor code.
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
11.09.2020 14:09
Пятничное чтиво Старые записи стримов можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Distributed locks with Redis How to do distributed locking Распределенные блокировки сложная тема, в которой нужно учитывать множество нюансов. Я пытался написать redlock на стриме, но реализация оставляет желать лучшего. В статье-официальной документации описывается пример алгоритма redlock, который использует редис как стор для ключей. Во второй статье описывается почему redlock алгоритм “a poor choice” и что вообще делать в таких ситуациях (спойлер: Curator Recipes или zookeeper. Так же, советую 9 главу из Designing Distributed Systems Book в которой описывается Ownership Election и приводится пример распределенной блокировки ресурсов. Русский перевод документации редиса ————————————— What to Make of SRE’s Golden Signals | VictorOps Статья от разработчиков VictorOps (инструмент для incident management) с мыслями о том, что и как стоит собирать SRE команде для мониторинга системы. Сама статья не несет ценности, но описанные 4 «сигнала» для мониторинга, отправная точка для создания первых дашбордов. Эти сигналы: Latency, Traffic, Errors и Saturation. Если у вас мало опыта с обсервабилити и необходимо начать внедрять системные метрики - эти четыре пункта мастхев, а объяснение почему найдете в статье. ————————————— Real time communication using Web-sockets Подробная статья о вебсокетах. В тексте найдёте описание работы протокола, пример клиентской части (для бэкенда автор взял уже готовый echo сервис) и некоторые мысли о безопасности. Статья поверхностна и не описывает мелочи, но для старта может подойти.
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
04.09.2020 15:09
Пятничное чтиво Лето закончилось, а это значит что скоро стримы вернуться из каникул. Пока не знаю когда, для начала разберусь со здоровьем. Но надеюсь к октябрю уже начнется новый сезон. Старые записи стримов можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Lessons I learned converting all my database IDs to UUIDs В канале уже упоминались статьи связанные с использованием UUID как primary key в базе данных. В статье, автор описывает 5 ошибок, которые совершил мигрируясь на новые pk. Вот некоторые из описанных: 1. Эстимейт времени необходимый для выполнения миграции в базе данных; 2. special cases и случаи о которых никто не знал и не ожидал; 3. Не учтенные референсы, которые сломались; Так же, понравилось, что в статье описана мотивация такого перехода (спойлер: можно было сделать без миграции на uuid). ————————————— Good Logging Эссе на тему использования логгера в проектах. В самом тексте примеров нет, но описываются идеи и подходы, которые понравились. Вот некоторые из них: - Логирование начала, конца и transitions для задачи (или куска кода), когда задача мелкая - стоит логировать только конец. Я бы еще добавил оборачивать логи в уникальный тег, для агрегации. - Grep-able сообщения: писать логи так, чтобы их было легко найти поиском. В тексте можно найти дополнение о том, что если функция вызывается в 2+ местах - стоит добавлять место вызова для локализации проблемы. От себя еще добавлю, что стараюсь оборачивать логи в теги (для реквестов, консьюмеров, воркеров и так далее). И что вместо логирования пару раз выручало складывать ответы от апи вызовов связанных с деньгами в базу данных. ————————————— Разбираемся с управлением памятью в современных языках программирования Серия переведенных статей (на текущий момент 3 из об управлению памятью в языках (JVM, V8, go, rust, python, c++, c#). По ссылке будет введение, в котором найдете объяснение что такое stack и heap, как работают. Также затрагивается garbage collector. Если хотите разобраться как работают языки программирования на низком уровне - мастхев. Если русский перевод ждать лень - читайте оригинал. Для тех, кто хочет разобраться как в руби работает GC и управление памятью - читайте микроскоп. Оригинальная серия ——— одной строкой ——— - Open Source Status за август от Петра (solnic); - Open Source Status за август от Тима (timriley);
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
28.08.2020 11:08
Пятничное чтиво Старые записи стримов можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Benchmarking Kafka vs. Pulsar vs. RabbitMQ: Which is Fastest? Важно: стоит учитывать, что confluent предоставляет kafka as a service, поэтому стоит ожидать заинтересованность в победе кафки. Confluent написали новый пост, в этот раз сравниваются популярные message brokers. Из статьи можно узнать о Apache Pulsar, методах сравнения брокеров, The OpenMessaging Benchmark Framework. Понравилось, что подробно описывается каждый из бенчмарков, но вопросы вызвал выбор брокеров на сравнение (ожидал увидеть еще nats). ————————————— Keyset Pagination Keyset Pagination in Action Pagination Tips Тема пагинации не раскрыта, поэтому три статьи из одного блога, в из которых узнаете "все что можно" о пагинации в постгресе. В первой статье описывается базовая идея использования keyset пагинации и WITH page AS конструкции. Во второй статье приводится больше практических примеров с объяснением как это работает. А в последней статье приводится 5 видов пагинации и даются советы когда какую лучше использовать. ————————————— A simple IoT architecture to Ingestion and Reporting — Part I A simple IoT architecture to Ingestion and Reporting — Part II A simple IoT architecture to Ingestion and Reporting — Part III Серия статей о том, как автор проектирует и делает IoT архитектуру для сбора информации с различных девайсов. Для этого автор хочет использовать MQTT (крутится у меня на малине, чтобы из zigbee получать информацию с датчиков), InfluxDB и сервис для работы с датчиками. Также, в примерах джава, так как автор знает язык лучше. Люблю такие статьи, так как можно посмотреть примеры систем + почитать в чем оказались проблемы. Стоит учитывать, что статьи еще будут появляться и на данный момент описана только 3 атомарные части. Также, планировал на стримах делать подобные системы в учебных целях (пишите если интересно). Если на работе приходиться проектировать IoT системы или тема цепляет - маст хев. ——— одной строкой ——— - Матц принял ractor и готов его мержить;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
25.08.2020 13:08
Федя и Самат написали пост о диаграммах, в котором описали разные инструменты для работы с диаграммами. Я обожаю диаграммы и в качестве примера, найдете реальные примеры моей работы в igooods, где я помогаю ребятам спроектировать и сделать новый билинг для сотрудников. https://vc.ru/services/151374-s-pomoshchyu-diagramm-mozhno-obyasnit-chto-ugodno-tem-bolee-chto-dlya-etogo-est-klassnye-instrumenty
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
21.08.2020 14:08
Я опять приболел, поэтому ссылок на этой неделе не будет. До встречи в следующую пятницу!
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
14.08.2020 18:08
Пятничное чтиво Старые записи стримов можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Блеск и нищета модели предметной области Расшифровка доклада, с dotnet конференции, где сравнивается подход анемичной и богатой моделей. Об анемичной моделе уже писал в пятничных ссылках. Что понравилось: объясняются причины раскола на богатую и анемичную модели, вывод о том, когда ддд использовать, примеры из двух подходов для одной проблемы. Если хотите разобраться в различии моделей - однозначный мастрид. ————————————— What every developer should know about database consistency Обзорная статья о том, что такое database consistency. Автор идет от ДБ запроса через Strong Consistency и Sequential Consistency к Eventual Consistency. Статья не претендует на подробное объяснение, но базовую концепцию из нее понять можно. Понравилось, что автор нарисовал графики, с помощью которых текст становится нагляднее. А если захотите разбираться в терминах дальше - Designing Data-Intensive Applications расскажет подробнее о консистентности в базах данных. ————————————— Why Write ADRs Новый пост в блоге GitHub о том, для кого на самом деле пишут ADR (Architecture Decision Record). Если коротко, ADR это записи, в которых описываются принятые и не принятые технические решения, а также контекст, в котором принималось каждое решение, дата и кто принимал. Главное, что стоит знать и о чем говорит автор - ADR в первую очередь для коллег, будущих коллег, будущего тебя. И только после - для самого себя. Больше информации можно найти по ссылке Markdown Architectural Decision Records или в моем докладе из Твери, где рассказывалось о “ADR” в топтале. ——— одной строкой ——— - Как оптимизировать расходы на Amazon AWS;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
07.08.2020 17:08
Пятничное чтиво Старые записи стримов можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Microservice, Miniservice, and Macroservice Походу шутка с наносервисами зашла слишком далеко, потому что сегодня статья, в которой описываются отличия между микросервисами, минисервисами () и макросервисами (монолитами по простому). Для каждого определения рисуется картинка, дается определение, плюс описывается при каких условиях сервис становится определенного вида. От себя добавлю: эта движуха с определением, что есть сервис, что есть микросервис, наносервис, минисервис, макросервис и так далее, выглядит как трата времени. Лучше разобраться с коммуникациями и изоляцией, чем тратить на это время. Но подобные статьи помогают понять, что заботит определенную группу лиц. ————————————— How do Ruby & Python profilers work? Статья трехлетней давности о профайлерах в питоне и руби. Автор приводит две таблицы (для каждого из языков) в котором указывает существующие в экосистеме профайлеры, а также принцип их работы. Ну и как бонус, автор объясняет как работают tracing и sampling профайлеры, а также описывает недостатки имплементаций. Если хотите разобраться с профайлингом в динамических языках - статья хороший старт. Русский перевод ————————————— Hidden Gems: Event-Driven Change Notifications in Relational Databases Автор задался вопросом, как автоматически генерировать события на изменение в сиквел базе. Автор рассматривает постгрес, оракл, H2 Database и MySQL/MariaDB и для каждой из БД рассказывает как подписаться на нотификации (в примерах java). В последнее время, приходится часто думать о том, как проще автоматически стримить состояние таблиц/агрегатов и статья может натолкнуть на варианты решения, если столкнулись с похожей задачей. ——— одной строкой ——— - Как оптимизировать расходы на Amazon AWS;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
31.07.2020 15:07
Пятничное чтиво Старые записи стримов можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Overthinking Не техническая статья в чтиве. Лонгрид (действительно много текста) о явлении оverthinking-а, что можно перевести как “перфекционизм”. Для себя нашел три причины, почему стоит прочитать эту статью: 1. Прекрасный мем с Оккамом в самом начале; 2. В тексте описана одна единственная мысль - “не усложняй”. Что переплетается с термином MVP; 3. Много жизненных примеров. Зацепила история с написанием курса, так как испытывал похожие переживания; ————————————— Service mesh use cases В ссылках уже появлялись статьи о service mesh. Сегодня статья, в которой приводится 16 примеров использования service mesh в проектах. Для каждого из примеров приводится краткое описание. Статья больше напоминает “что можно получить взяв service mesh” и жаль, что нет примеров проблем, которые приходят с технологией. Русский перевод ————————————— Recent database technology that should be on your radar (part 1) В серии статей автор рассматривает 6 технологий из мира баз данных, которые заинтересовали. В первой части рассматривается 2 базы данных (tiledb и materialize), а так же набор инструментов для абстрагирования базы данных Prisma. - TileDB - узкоспециализированная БД вокруг многомерных массивов, заточенная для работы с генетикой (genomics) и геопространственными данными. - Materialize - потоковая SQL БД. Совместима с psql, но предоставляет materialized view с обновлением в реалтайм. - Prisma - JS/TS библиотека, которая абстрагирует SQL базы данных в единый интерфейс. Похоже на AR паттерн из рельсы. Русский перевод ——— одной строкой ——— - Open Source Status от solnic; - Больше документации по ruby ractor;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
24.07.2020 16:07
привет я на этой неделе не смог найти интересных ссылок, поэтому следующие будут в пятницу
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
17.07.2020 17:07
Пятничное чтиво Завтра выступаю на RubyConfBY, расскажу о визуализации зависимостей в проекте и почему визуализация не работает прямо сейчас. Старые записи стримов можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Seven Microservices Anti-patterns Статья из разряда “если у нет подходящего опыта и культуры - микросервисы усложнят жизнь”. Ошибки, которые вынесли во время разработки - Cohesion Chaos - когда в сервисы начинают пихать логику, которой не должно быть; - Not taking Automation Seriously - отсутствие автоматизации в деплое и сборе метрик; - Layered Services Architecture - попытка сделать сервис для сохранения и сервис для отображения, а еще сервис для бизнес логики и так далее; - Relying on Consumer Sign-off - я не понял посыл, но вроде похоже на то, что привязка к консьюмингу разных частей может привести к задержкам в производстве сервиса (поправьте пожалуйста, если ошибся); - Manual Configurations Management - отказ использования сервиса с конфигурациями и ручная настройка конфигов каждого из сервисов; - Versioning Avoidance - отсутствие версионирования для эндпоинтов и для событий; - Building a gateway in every service - личный фаворит, прямой вызов каждого сервиса из клиентов, вместо использования единого gateway (иногда спасает gateway для конкретного консьюмера, Backends For Frontends) Для каждого из пунктов найдете подробное описание и пару картинок для понимания о чем говорится. ————————————— Обзор архитектуры и сервисов Тинькофф-журнала Статья - пример существующего медиа приложения, которое переросло вордпресс. Тиньков рассказывает об опыт, который можно взять себе на вооружение. Хотелось бы больше технических подробностей (как коммуникации между частями системы происходят). С другой стороны, интересно посмотреть как функциональность разбилась на сервисы и как это эволюционировала. ————————————— The Entity Service Antipattern В первой статье говорилось о “Layered Services Architecture”, поэтому ссылки закрывает статья о “The Entity Service Antipattern”. Такой паттерн описывается в “Microsofts .NET microservices architecture ebook” и туториалах к Spring. Главная идея - проектируем сервис для онлайн шоппинга, который обращается к 4 сервисам, предоставляющим CRUD интерфейс для данных: order, cart, product, accounts (пример из статьи). В этом случае можно написать еще один сервис, который будет обращаться к двум из них: product, accounts. При этом повторение кода в product и accounts не будет дублироваться, а основная работа с данными будет в этих entity services. В статье описывается, почему подобный подход может усугубить ситуацию и приводится восемь аргументов против паттерна. ——— одной строкой ——— - solnic опубликовал новый Open Source Status
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
10.07.2020 15:07
Пятничное чтиво На следующей неделе будет RubyConfBY, расскажу о визуализации зависимостей в проекте и почему визуализация не работает без ограничений. Старые записи стримов можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Data consistency in microservices Одна из проблем сервисной архитектуры - консистентность данных в распределенных транзакциях. Автор описывает два варианта решения этой проблемы: two phase commit protocol и SAGA паттерн. При этом, SAGA паттерн разбивается на два подхода - синхронная оркестрация по командам и асинхронная хореография событий в транзакции. Если хотите разобраться в этих двух видах распределенных транзакций - начните со статьи. ————————————— 5 Database Scaling Solutions You Need to Know Понравился флоу статьи: цена скейлинга -> как искать ботлнек используя метрики -> хайлевел описание зачем скейлиться -> примеры пяти подходов. Описываемые подходы: - Cache Database Queries - Database Indexes - Session Storage - Slave Master Replication - Database Sharding Понравилось, что для каждого из подходов дается подробное описание, примеры использования и иногда картинки. А если хотите продолжить - читайте DDIA, где подробнее описываются индексы, шардирование и репликация. ————————————— An Overview of Health Check Patterns Самая подробная статья о healthchecks на моей памяти. Изначально хелсчеки помогают определить может функционировать сервис или нет, поэтому в хелсчеках должна быть проверка компонентов без которых сервис не может функционировать (конекшен к базам данных, конекшен к другим сервисам, кеширование и так далее). Из статьи узнаете зачем используется концепция хелсчеков и как координатор работает с сервисами с помощью хелсчеков. А также, на примерах автор покажет как организовывать рестарт, алертинг, скейлинг, деплоймент и трафик используя описанный подход. ——— одной строкой ——— - Пост полугодичной давности от Кира о том, как начать контрибьютить в руби кор
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
03.07.2020 17:07
Пятничное чтиво Стрим не успел провести, поэтому закрываю сезон и выхожу на летние каникулы. Старые записи можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— Scalability concepts: zero-downtime deployments Автор объясняет что и зачем нужен zero-downtime деплой. Описываются основные блоки, без которых не получится построить zero-downtime: Graceful shutdown, Load balancing, dynamic routing и health checks. После этого описывается два варианта создания подобного деплоя (Blue/green deployments и rolling deployments). Понравились вручную нарисованные картинки, по ним намного проще понять что хочет сказать автор, а так же, в конце найдете ссылку на гитхаб, в котором будет пример деплойментов. Статья entry point для того, чтобы разобраться в теме, но сложных проблем или примеров не найдете. ————————————— Microservices: Must-Have Communication Strategies - DZone Microservices Коммуникации в сервисной архитектуре заставляют помнить о проблемах, которых нет в монолитных системах. В статье, за авторством DZone, авторы попробовали собрать список проблем, с которыми потенциально столкнется разработчик. Сам текст делится на 3 части: сложности, рекомендации или возможные решения и виды сбоев. Из проблем выделяются три: Latency, Transaction и Reliability. Статья напомнила подход из DDIA, где описываются что может произойти, но конкретных решений нет. ————————————— Architecture Characteristics Defined Глава из книги “Fundamentals of Software Architecture”, в которой описываются основных характеристики, наблюдаемые в архитектуре. Из текста узнаете о трех критериях, которые входят в архитектурные характеристики (“Specifies a nondomain design consideration”, “Influences some structural aspect of the design” и “Is critical or important to application success”). А также список из характеристик, которые можно взять себе на вооружение. Если тема заинтересовала - советую первую (или вторую) главу из DDIA, там можно найти больше информации. ——— одной строкой ——— - A distributed database built on the same principles as Git; - IBM Shows Instances of COBOL Running Natively on Kubernetes;
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
01.07.2020 16:07
Привет, к сожалению стрим не успею провести. Поэтому стримы уходят на летние каникулы. Вернусь в новом сезоне с новым микрофоном
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме


Pepegramming
26.06.2020 14:06
md:true Пятничное чтиво Прихожу в себя после болезни, поэтому ссылки возвращаются. На следующей неделе стрим. Доделаем библиотеку со стейт машиной и используем полученную стейт машину в rubyjobs.dev. Старые записи можно найти по ссылке. Так же буду рад предложениям, вопросам и идеям. Можно написать в личку, а можно в анонимную форму. ————————————— 4 Types of NoSQL Databases Сборная статья в которой описываются четыре вида noSQL баз данных (key-value, document oriented, column-base, graph-base). Понравилось описание видов баз данных (не путать с названиями) с понятными картинками, для каждого вида баз приводятся конкретные примеры которые можно изучить. Не понравилось, что нет конкретных примеров использования, например, как использовать графовые базы в логистике. Хотелось бы видеть больше юзкейсов, почему лучше брать документо-ориентированную или графовую базу, а не использовать постгрес (об этом написано в DDIA книге). ————————————— Why JWTs Suck as Session Tokens Статья о jwt и почему подход не серебряная пуля. Понравилось описание jwt и как технология работает, а так же пример того как разработчики часто используют технологию не правильно. На примере указываются проблемы jwt. Из описанных проблем: размер токена по сравнению с id сессии, в любом случае придётся использовать базу данных, и сам формат строки. Кроме минусов автор указывает чем можно заменить jwt, а так же делится видением как использовать технологию “правильно”. ————————————— Build Streaming ETL Solutions with Apache Kafka & Rail Data Лонгрид из технического блога confluent (известны тем, что предоставляют kafka as a service и большим опытом). Робин описывает как из публичного фида UK’s Network Rail, в которой данные проходят через ActiveMQ, и REST API сделать ETL систему. Главная идея - взять источники данных, положить их в кафку, там же, посредством KSQL преобразовать данные в нужный формат и выгрузить куда надо + сделать сервис нотификаций, который будет слать телеграм сообщения, когда поезд задерживается. Решение из статьи сложно назвать серебряной пулей, скорее это пример того, как использовать кафку для стриминга данных из одного источника в другой. ——— одной строкой ——— - The Marketplace for Software Developers
Читать

Обращаем внимание, что мы не несем ответственности за содержимое(content) того или иного канала размещенный на нашем сайте так как не мы являемся авторами этой информации и на сайте она размещается в автоматическом режиме