Артем Рудневский - Exactly-once в микросервисной среде

  Рет қаралды 3,313

DotNext — конференция для .NET‑разработчиков

DotNext — конференция для .NET‑разработчиков

Күн бұрын

Пікірлер: 13
@xQiizYx
@xQiizYx 2 жыл бұрын
На 23:30 как-то сложно с промежуточной очередью, обычно для ускорения outbox сообщение отправляют просто после коммита транзакции (и если удалось - удаляют из outbox). Тогда фоновый процесс будет заниматься доотправкой только того, что не удалось отправить из-за ошибки, большинство сообщений будут отправляться сразу же (но точно также проходить через коммит в outbox).
@timramone
@timramone 2 жыл бұрын
После коммита будут теряться сообщения
@want2sleeptt
@want2sleeptt Жыл бұрын
@@timramone наверно имеется ввиду, что мы в транзакции выполняем полезную работу и сохраняем в аутбокс сообщение, которое нужно отправить, и комитим транзакцию. Тут все как везде) а дальше в этом же потоке пытаемся сразу отправить данное сообщение и удалить его из аутбокса, тогда демону, который разгребает аутбокс, нужно будет доотправлять только упавшие сообщения
@timramone
@timramone Жыл бұрын
@@want2sleeptt понятно, тоже интересный подход!
@AgentFire0
@AgentFire0 Жыл бұрын
@@timramone не просто интересный, а логичный, ведь он сильно оптимизирует happy path.
@timramone
@timramone 3 ай бұрын
​@@AgentFire0 ответ через год конечно смешно, но тем не менее :) не всегда это можно себе позволить, например если ты находишься в критическом пути, или если то, что должно происходиить в обработке outbox'а сильно дороже обработки исходного сообщения (и соответственно должно масштабироваться по-другому как-то)
@denispetukhov9869
@denispetukhov9869 Жыл бұрын
Не совсем понятен один момент. Сначала говорится что эвентов много и rdbms не подходит под такую нагрузку. При этом далее говорится что при создании клиента его данные и эвент о создании коммитятся в рамках одной транзакции (outbox). Тогда получается что если будет много клиентов система прикурить из-за проблем масштабируемости rdbms и далее видимо придётся шардить
@timramone
@timramone Жыл бұрын
всё так. в докладе имеется ввиду, что мы не будем делать таблицу транзакций, из которых потом вычитывать пачку и отправлять её в кафку, так как это как раз очередь на базе. вместо этого мы пишем в настояющую очередь, и читаем из базы по ключу, что гораздо лучше масштабируется (параллелится)
@BatShvit
@BatShvit 2 жыл бұрын
Прикольно -- Говорит, что хотят работать с transactional outbox быстрее, при этом предлагает уровень изоляции serializable -- У kafka если exactly-once гарантия на уровне продюсера, это упрощает всю схему -- Самое главное, exactly-once на стороне консьюмера все равно не работает :D
@timramone
@timramone 2 жыл бұрын
1. А где? Вообще не предлагаю, предлагаю снапшот)) 2. Как именно? По-моему не упрощает. 3. На стороне консьюмера единственный вариант чтобы работала, в этом весь смысл.
Рассказ про exactly once в kafka
49:28
Сергей Петрелевич
Рет қаралды 1,7 М.
Кирилл Бажайкин - Приемы экономии памяти в .NET
55:12
DotNext — конференция для .NET‑разработчиков
Рет қаралды 5 М.
Amazing remote control#devil  #lilith #funny #shorts
00:30
Devil Lilith
Рет қаралды 16 МЛН
Noodles Eating Challenge, So Magical! So Much Fun#Funnyfamily #Partygames #Funny
00:33
Players vs Pitch 🤯
00:26
LE FOOT EN VIDÉO
Рет қаралды 129 МЛН
World’s strongest WOMAN vs regular GIRLS
00:56
A4
Рет қаралды 45 МЛН
HTTP в 1С за 3 часа
3:23:54
IRONSKILLS - Курсы по 1С
Рет қаралды 476 М.
[2024/10/15] Лекция 6. Трансформеры.
1:15:10
Anton Konushin
Рет қаралды 600
Транзакции в Kafka // Демо-занятие курса «Java Developer. Professional»
1:42:13
OTUS IT Онлайн - образование
Рет қаралды 1,2 М.
Михаил Дошевский - Workflow-архитектура сервисов на .NET
1:01:11
DotNext — конференция для .NET‑разработчиков
Рет қаралды 2,7 М.
Владимир Ситников - B-tree индексы в базах данных на примере .NET Entity Framework и PostgreSQL
59:17
DotNext — конференция для .NET‑разработчиков
Рет қаралды 3 М.
Amazing remote control#devil  #lilith #funny #shorts
00:30
Devil Lilith
Рет қаралды 16 МЛН