{"version":1,"type":"rich","provider_name":"Libsyn","provider_url":"https:\/\/www.libsyn.com","height":90,"width":600,"title":"DevTalk #146 - O outbox i spektrum wzorc\u00f3w &quot;at least once&quot; z Jackiem Milewskim","description":"W tej rozmowie wracamy do fundament\u00f3w, bez kt\u00f3rych \u017caden rozproszony system nie dzia\u0142a jak nale\u017cy: do komunikacji mi\u0119dzy serwisami. Jacek Milewski prowadzi nas przez ca\u0142e spektrum wzorc\u00f3w dostarczania wiadomo\u015bci. Zaczniemy od naiwnych (synchroniczny fire-and-forget, prosty async), przez ogarni\u0119te (transakcyjny Outbox, Inbox, Optimistic Outbox), a\u017c po poziom PRO (shared kernel, Change Data Capture, Consumer Driven Redelivery, listen to yourself). Ka\u017cdy wzorzec to nie wyb\u00f3r mi\u0119dzy dobrem a z\u0142em, tylko \u015bwiadomy trade-off: kt\u00f3ry zestaw problem\u00f3w wolimy w przysz\u0142o\u015bci rozwi\u0105zywa\u0107.  Z tego odcinka dowiesz si\u0119:   Dlaczego ju\u017c przy jednym mikroserwisie masz do czynienia z systemem rozproszonym; Czym r\u00f3\u017cni si\u0119 at most once i&amp;nbsp;at least once;  Kiedy naiwny wzorzec fire-and-forget jest w pe\u0142ni rozs\u0105dnym wyborem; Na czym polega transakcyjny Outbox; Jak dzia\u0142a\u0107 z Inboxem, deduplikacj\u0105 i emulowaniem kolejno\u015bci po stronie odbiorcy; Czym jest idempotentno\u015b\u0107;  Dlaczego retry potrafi po\u0142o\u017cy\u0107 system, zamiast go uratowa\u0107;  Kiedy si\u0119gn\u0105\u0107 po shared kernel, CDC i Consumer Driven Redelivery \u2014 i za jak\u0105 cen\u0119.  &amp;nbsp; &amp;nbsp; Rozdzia\u0142y: 00:00 Wst\u0119p 00:25 Kim jest Jacek Milewski? 03:12 Gwarancja dostarczenia wiadomo\u015bci 04:30 Zagro\u017cenia dostarczenia wiadomo\u015bci 11:17 Jak wybra\u0107 odpowiedni wzorzec? 20:50 Transakcyjny Outbox 25:30 Duplikaty i wiele instancji 30:30 Inbox 34:40 Deduplikacja i idempotentno\u015b\u0107 41:00 Implementacja wzorc\u00f3w 42:39 Optimistic Outbox 49:30 Shared kernel 55:03 Change Data Capture 56:28 Consumer Driven Redelivery 01:00:28 Listen to yourself 01:01:49 Strangler pattern i dane publiczne 01:03:13 Czas dowiezienia a debugowanie 01:04:46 AI jako partner do pracy ","author_name":"DevTalk by devstyle.pl","author_url":"http:\/\/devtalk.pl","html":"<iframe title=\"Libsyn Player\" style=\"border: none\" src=\"\/\/html5-player.libsyn.com\/embed\/episode\/id\/41982040\/height\/90\/theme\/custom\/thumbnail\/yes\/direction\/forward\/render-playlist\/no\/custom-color\/88AA3C\/\" height=\"90\" width=\"600\" scrolling=\"no\"  allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen><\/iframe>","thumbnail_url":"https:\/\/assets.libsyn.com\/secure\/content\/203836065"}