Статья — это туториал, в котором на пальцах пытаюсь рассказать об аутентификации в сервисах и как это можно реализовать на Go.
Вышла первая часть, вторая выйдет уже в начале следующего года.
Приятного чтения
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Разработчики всё ещё путают JWT, JWKS, OAuth2 и OpenID Connect — разбираем на примерах. Часть 1
JWT, SSO, OAuth, OpenID Connect — названия, знакомые каждому разработчику. В коде токены встречаются повсюду. Кажется, что всё понятно. Но стоит спросить: «Зачем...
❤9🔥8👍6👏3🆒1
ПРОРЫВ В ОБЛАСТИ ПРОТОКОЛОВ КОНСЕНСУСА
На днях узнал о шокирующей новости — появлении ACID транзакций в Apache Cassandra (в распределенной leaderless базе КАРЛ!)
Да да, случилась по-сути революция в Computer Science: то что еще недавно считалось невозможным иметь строгие и быстрые распредленные транзакции в leaderless базах данных, теперь — реальность!
За счет чего такой прорыв?
Умные инженеры (видимо еще и очень упорные) в Apple при содействии Университета Мичигана, решили бросить вызов одной из самых сложных проблем в индустрии — быстрые транзакции в leaderless-архитектурах, и разработали новый протокол консенсуса ACCORD.
Accord — это первый практичный протокол, который одновременно дает:
-🤯 Strict-Serializable Consistency: Serializable и Linearizable (подробнее про модели согласованности)
-🧠 Leaderless: Отсутствие глобального лидера
-🚀 Устойчивый к Contention: конкурирующие транзакции не приводят к гарантированному slow-path (за счет reorder buffer)
-⚡️ Согласование ВСЕГО ЗА 1 ROUND TRIP в оптимистичном сценарии и за 2 Round Trip при конфликтах
- ⚛️ Может работать на произвольных multi-key / multi-shard транзакций (ваши ключи могут быть в разных партициях и даже таблицах, и при этом вы можете атомарно их обновить)
Что это дает?
Этот протокол дает современным БД возможность быть одновременно масштабируемыми, быстрыми и транзакционными — без лидеров, без компромиссов и без атомных часов. Это кардинально меняет целый класс AP-систем — таких как Cassandra (а в перспективе, вероятно, и другие базы данных начнут интегрировать Accord). Уверен, что в ближайшие пять лет мы увидим массовый переход компаний на подобные решения, и это станет новым технологическим трендом.
Уже в следующей версии Cassandra должны добавить поддержку транзакций. Классическая задача резервации стоков теперь будет решаема на Cassandra:
На днях узнал о шокирующей новости — появлении ACID транзакций в Apache Cassandra (в распределенной leaderless базе КАРЛ!)
Да да, случилась по-сути революция в Computer Science: то что еще недавно считалось невозможным иметь строгие и быстрые распредленные транзакции в leaderless базах данных, теперь — реальность!
За счет чего такой прорыв?
Умные инженеры (видимо еще и очень упорные) в Apple при содействии Университета Мичигана, решили бросить вызов одной из самых сложных проблем в индустрии — быстрые транзакции в leaderless-архитектурах, и разработали новый протокол консенсуса ACCORD.
Accord — это первый практичный протокол, который одновременно дает:
-
-
-
-
- ⚛️ Может работать на произвольных multi-key / multi-shard транзакций (ваши ключи могут быть в разных партициях и даже таблицах, и при этом вы можете атомарно их обновить)
Что это дает?
Этот протокол дает современным БД возможность быть одновременно масштабируемыми, быстрыми и транзакционными — без лидеров, без компромиссов и без атомных часов. Это кардинально меняет целый класс AP-систем — таких как Cassandra (а в перспективе, вероятно, и другие базы данных начнут интегрировать Accord). Уверен, что в ближайшие пять лет мы увидим массовый переход компаний на подобные решения, и это станет новым технологическим трендом.
Уже в следующей версии Cassandra должны добавить поддержку транзакций. Классическая задача резервации стоков теперь будет решаема на Cassandra:
BEGIN TRANSACTION
// Find out how many PlayStations are left
LET inventory = (SELECT inventory_count FROM ks.products WHERE item = 'Play Station 5');
// Return the inventory_count
SELECT item, inventory_count FROM ks.products WHERE item = 'Play Station 5';
// Take a PlayStation out of inventory and put it in users shopping cart
IF inventory.inventory_count > 0 THEN
UPDATE ks.products SET inventory_count -= 1 WHERE item = 'Play Station 5';
INSERT INTO ks.shopping_cart(user_name, item, item_count) VALUES ('leo', 'Play Station 5', 1);
END IF
COMMIT TRANSACTION;
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20🤔4❤3😱3👍2
Настало время подвести итоги уходящего 2025 года…
И так в этом году я:
— НЕ набрал 1000 подписчиков в канале
— НЕ завел свой youtube канал
— НЕ запустил 3 курса как планировал
— НЕ стал unit лидом
— НЕ жму 100-ку, хотя весь год хожу в зал
— НЕ прочитал 12 книг
— НЕ выступил ни на одной конференции
— Ушел из Balun.Course
— НЕ увеличил капитал своей подушки безопасности
С точки зрения реализации этот год совсем не продуктивный.
Однако, за этот год я:
— провел зимовки в теплых странах как и мечтал еще со школы
— встретил новый год на море и провожаю его также на море
— посетил 7 РАЗНЫХ стран (мой рекорд): был в самой посещаемой стране в восточной Азии — Японии, а также в самых не туристических странах юго-восточной Азии — Лаос и Мьянма.
— увидел гору Фудзи без единого облачка с ее фирменной снежной вершиной
— был на концерте Travis Scott, о котором мечтал уже лет 10. Так еще и Kanye West был секретным гостем!
— прокатился на Nissan R34 по ночному Токио как в Форсаже 3
— летал на парамоторе среди гор в Лаосе
— остановился в отеле InterContinental (мечта после просмотра Джона Уика в 15 лет)
— Сфотографировался у башен Петронас в Куала-Лумпуре
— Был в городе, напоминающий Cyber Pank — Гуанчжоу
— кормил оленей в Наре и был на чайной церемонии в традиционной одежде в Киото
Пожалуй, это был первый год в моей жизни, когда я не работал в режиме 24/7 7 дней в неделю, не бежал куда-то как хомяк в колесе… Я понял, что «успешный успех» и размеренный образ жизни с путешествиями — вещи не совместимые. Однако, в жизни нужны перерывы между «спринтами» и кажется 2025 год был одним из таких.
Хочу искренне поблагодарить вас, мои подписчики, за ваши комментарии, реакции и обсуждения в постах, для меня это важно.
Поздравляю Вас с наступающим Новым годом!
Не расстраивайтесь, если чего-то не успели в этом году, возможно, вы сделали что-то для себя или реализовали какую-то свою давнюю мечту, а это всегда дороже всего!
С Новым Годом 🍾 🎆 🎄 🎁
И так в этом году я:
— НЕ набрал 1000 подписчиков в канале
— НЕ завел свой youtube канал
— НЕ запустил 3 курса как планировал
— НЕ стал unit лидом
— НЕ жму 100-ку, хотя весь год хожу в зал
— НЕ прочитал 12 книг
— НЕ выступил ни на одной конференции
— Ушел из Balun.Course
— НЕ увеличил капитал своей подушки безопасности
С точки зрения реализации этот год совсем не продуктивный.
Однако, за этот год я:
— провел зимовки в теплых странах как и мечтал еще со школы
— встретил новый год на море и провожаю его также на море
— посетил 7 РАЗНЫХ стран (мой рекорд): был в самой посещаемой стране в восточной Азии — Японии, а также в самых не туристических странах юго-восточной Азии — Лаос и Мьянма.
— увидел гору Фудзи без единого облачка с ее фирменной снежной вершиной
— был на концерте Travis Scott, о котором мечтал уже лет 10. Так еще и Kanye West был секретным гостем!
— прокатился на Nissan R34 по ночному Токио как в Форсаже 3
— летал на парамоторе среди гор в Лаосе
— остановился в отеле InterContinental (мечта после просмотра Джона Уика в 15 лет)
— Сфотографировался у башен Петронас в Куала-Лумпуре
— Был в городе, напоминающий Cyber Pank — Гуанчжоу
— кормил оленей в Наре и был на чайной церемонии в традиционной одежде в Киото
Пожалуй, это был первый год в моей жизни, когда я не работал в режиме 24/7 7 дней в неделю, не бежал куда-то как хомяк в колесе… Я понял, что «успешный успех» и размеренный образ жизни с путешествиями — вещи не совместимые. Однако, в жизни нужны перерывы между «спринтами» и кажется 2025 год был одним из таких.
Хочу искренне поблагодарить вас, мои подписчики, за ваши комментарии, реакции и обсуждения в постах, для меня это важно.
Поздравляю Вас с наступающим Новым годом!
Не расстраивайтесь, если чего-то не успели в этом году, возможно, вы сделали что-то для себя или реализовали какую-то свою давнюю мечту, а это всегда дороже всего!
С Новым Годом 🍾 🎆 🎄 🎁
🔥24❤🔥7🎉5❤3😍1💔1