Тёмный

Applying the Saga Pattern • Caitie McCaffrey • GOTO 2015 

GOTO Conferences
Подписаться 1 млн
Просмотров 200 тыс.
50% 1

Опубликовано:

 

14 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 111   
@t529615
@t529615 Год назад
Great presentation. Still relevant in 2023 👍
@JesusEnriqueFrancoMartinez
@JesusEnriqueFrancoMartinez 6 месяцев назад
unlike Redux Saga?
@mrbharatmehta
@mrbharatmehta 6 лет назад
Very helpful presentation. Saved me a lot of effort in understanding why and how Saga is used for orchestrating a transaction
@iloveyeseul
@iloveyeseul 5 лет назад
what a clear presentation!! Thanks to your talk, i figure out what saga pattern is and could imagine what redux-saga does. Thx again!!
@nmuta1
@nmuta1 6 лет назад
This talk will be relevant for a while as we all are looking into various ways forms of asynchronous data, multiple data streams, and complex dependencies in transactions . Love this talk !!!!!
@jjong
@jjong 6 лет назад
So much comprehensive explanation that irresistibly leads me to understand what saga is
@pontusdevelopment9284
@pontusdevelopment9284 5 лет назад
Need to learn the Saga Pattern for my first developer job, and this video was certainly a superb starting point! Seldom does new concepts click as fast and easily as this one did after watching your talk. Thank you, Caitie!
@brucewayne2480
@brucewayne2480 4 года назад
hi , it's been a year so what other ressources did you use to learn more about saga pattern ? thanks
@seol1500
@seol1500 2 года назад
@@brucewayne2480 microservices pattern, other than that checkout a book by martin kleppmann
@laytonmiller5865
@laytonmiller5865 6 лет назад
Finally, the slides and the video at the same time. Also, excellent presentation. Very knowledgeable.
@programming6881
@programming6881 Год назад
Wonmderful talk! Very articulate and the examples are excellent. Thanks for sharing this.
@l3mM1VePXBn3
@l3mM1VePXBn3 8 лет назад
What a smart engineer. Well explained! Thanks.
@ValeriyaSerdyukova
@ValeriyaSerdyukova 10 месяцев назад
Awesome talk. Thanks for a great presentation
@sergeyberezovskiy8921
@sergeyberezovskiy8921 6 лет назад
Great to watch at 0.75 speed!
@jimlaredo8864
@jimlaredo8864 5 лет назад
It all depends - worked for me at 1.25
@davidc24994
@davidc24994 5 лет назад
Yep She speaks too fast for non - natives I think :)
@АртёмИванов-я4ф
@АртёмИванов-я4ф 5 лет назад
​@@davidc24994​, yes, she does, but she speaks clearly and doesn't swallow words' endings. To my surprise, it was comprehensible. And awesome as well!
@logarythm591
@logarythm591 4 года назад
lool
@legiogallica
@legiogallica 5 лет назад
Very clearly and thoroughly explained, thank you.
@cvetkovicslobodan
@cvetkovicslobodan Год назад
Nice talk, still valid in 2023. :)
@perkimon
@perkimon 6 лет назад
This presentation made Saga's click for me. Nice one.
@CFXplosive
@CFXplosive 4 года назад
Although it is a bit fast, and some background knowledge is assumed, it's a great presentation ... Thanks !!
@ravikumarmistry
@ravikumarmistry 3 года назад
this is a very amazing talk. Thankyou
@dorelbarbu9453
@dorelbarbu9453 2 года назад
Very good presentation! Thanks for sharing!
@thegrumpydeveloper
@thegrumpydeveloper Год назад
Cool this is workflows and is implemented in things like temporal in 2023. Still wish it were easier to implement but we’re getting there.
@XibaXela
@XibaXela 3 года назад
Two questions 1. The presenter says they are using Azure Service Bus as a log. How does this work? I don't understand how a queue would be a useful way to store log information. 2. They mention a "CP log", what does that mean in this context?
2 года назад
Excellent talk.
@rahulchakraborty626
@rahulchakraborty626 5 лет назад
Awesome Presentation. Very well explained . Thanks !!
@jordyfrog
@jordyfrog 8 лет назад
Fantastic presentation! Thanks
@MrTractor01
@MrTractor01 8 лет назад
Very impressive! Interesting topic that was explained and illustrated well and the presentation was right on point.
@thecrazychosid
@thecrazychosid 3 года назад
Fantastic.
@willemojnr
@willemojnr 3 года назад
Great talk. I learnt some new things.
@GiveMeAnOKUsername
@GiveMeAnOKUsername 3 года назад
So load data into big bucket and then, at leisure, process and parcel out to store. On fail, retry. This is similar to CQRS except with that the big bucket is kept around and considered to be the database.
@TowhidIslam
@TowhidIslam Год назад
Awesome 👍😀
@dhaferbenali5302
@dhaferbenali5302 3 года назад
Great talk. Thx !
@markosfragkakis4984
@markosfragkakis4984 5 лет назад
Very good presentation, thank you
@sujeetagrahari5274
@sujeetagrahari5274 3 года назад
My Ears didn't breathe at all watching whole talk 😂
@goldenking2046
@goldenking2046 5 лет назад
So if I'm understanding correctly: in order for the Saga to survive the Coordinator dying, either the forward transaction or the compensating transaction must be idempotent. However in the example of email, neither seems to be the case. Obviously sending out the email is not idempotent, nor would I want to flood the customer's inbox with hundreds of "disregard the last email" messages if the compensating action needs to be retried.
@GiveMeAnOKUsername
@GiveMeAnOKUsername 3 года назад
Only send one email.
@LimitedWard
@LimitedWard 2 года назад
What's stopping you from sending a second email? That sort of thing happens all the time with e-commerce sites. You get one email with your order confirmation and another later when the order has shipped. You may also receive an email saying your order was cancelled or the shipment was delayed. All of those are valid compensations for the original email(s).
@markomilenkovic2714
@markomilenkovic2714 4 года назад
That was a great presentation, thank you Caitie
@HafizQutaiba
@HafizQutaiba 7 лет назад
Good talks, well explained. Thanks
@izebit
@izebit 6 лет назад
Thank a lot for a good explanation of saga. All are clear, even for me
@abhilashbandi3866
@abhilashbandi3866 5 лет назад
Blown away!!! Thank you :)
@Viniter
@Viniter 6 лет назад
Very well explained and practical!
@rajeshg3570
@rajeshg3570 3 года назад
nice explanation and slides. i'm wondering where is the saga state stored if it's not in SEC?
@saeidh.2033
@saeidh.2033 3 года назад
An LLT is a saga if it can be written as a sequence of transactions that can be interleaved *with other transactions*. What the presenter mentioned at 10:11 (the one gotcha that sub-transactions cannot depend on one another .. T2 cannot take input from T1) is not correct!
@parrottsquawk975
@parrottsquawk975 4 года назад
15:45 Don't be the person that interrupts someone in the middle of their presentation!
@sfontesv
@sfontesv 6 лет назад
Very nice talk! Thanks
@computerex
@computerex 7 лет назад
Fantastic talk
@marvinalone
@marvinalone 3 года назад
0.75x speed is perfect!
@alexpiper4773
@alexpiper4773 4 года назад
Many thanks 👍👍👍👍
@basilio100
@basilio100 6 лет назад
I wonder if this pattern (transaction idempotentcy) can be applied in financial world? Probably it will be more complex solution - if you for example do fund transfer, how would your system retry if transaction failed...Also how compensation will work?
@davidc24994
@davidc24994 5 лет назад
Hi Basilio100, Maybe then you need to add a bit of logic there and identify your transaction with an ID, e.g see if you have already applied this ID rollback... What do you think?
@basilio100
@basilio100 5 лет назад
@@davidc24994 don't know. I did few POC projects, used correlation Id to mark transactions... All is not so easy...
@ahmadtinku
@ahmadtinku 7 лет назад
Awesome talk ! Thanks
@pranjalagnihotri6072
@pranjalagnihotri6072 4 года назад
This talk is based on the paper 09:03
@partyY2Hard
@partyY2Hard 6 лет назад
Good job. Thanks,
@Bugslamor
@Bugslamor 3 года назад
Jeez I was just trying to make ajax calls from my web page. Great talk though !
@aneeinaec
@aneeinaec 3 года назад
Smart!
@chrismaandhika
@chrismaandhika 6 лет назад
What if the Saga Log node fails? I think from her presentation, the Saga Log node is not allowed to fail.
@limitless9483
@limitless9483 4 года назад
I don't see the relationship between this and redux-saga, but hey I watched the full thing and maybe, later on, I might come back and laugh at how stupid I was :) great speech.
@wildknowledge4816
@wildknowledge4816 3 года назад
Ohohoho! Perfect explanation. Now I can do my homework )) I'll borrow a couple of your slides if you don't mind of course. Thx!
@jimlaredo8864
@jimlaredo8864 5 лет назад
What techniques did you use to achieve idempotency in your scenarios? - Great talk!
@mostafav12
@mostafav12 6 лет назад
An excellent presentation, but I have a question, consider T1 for booking hotel runs without problem and we call T2 start, at this moment another service that creates reports for hotels starts to sending new booking records to hotels, but T2 fails and we runs c2 and c1, how should we handle this kind of exceptions?
@renatoargh
@renatoargh 5 лет назад
This report will be eventually consistent, after C1 finishes running. This is my understanding, at least.
@quangtung2912
@quangtung2912 3 года назад
@@renatoargh or i think another approach is we will have a third state like 'processing'. And in the happy flow we must send 2 request, one for normal transaction processing, another for converting 'processing' to 'accepted' state. So the report query only use records with the 'accepted' state. This pattern as I remember is called 'semantic locking' found in the Microservices Patterns book.
@gannalyo0015
@gannalyo0015 6 лет назад
Beautiful. Then, are there translations for Chinese? Thank you.
@ravir5630
@ravir5630 6 лет назад
she keeps mentioning about the paper. Do people read many published papers? How do I know which kickass concept I have to use? It must be published somewhere in a paper?
@bicatu
@bicatu 5 лет назад
they are usually the source of some of the trends for more complex patterns. It is good after you read a blog or presentation to see in more details and get your own conclusion for your domain.
@samchebbs7399
@samchebbs7399 5 лет назад
Totally stupid question - how do you achieve idempotency when you are making a totally new car/hotel/flight booking? Wouldn't that be a POST request? a new entry in db of the remote service? and POST is not idempotent.
@samchebbs7399
@samchebbs7399 5 лет назад
.. and i got my answer :P - medium.com/@saurav200892/how-to-achieve-idempotency-in-post-method-d88d7b08fcdd
@quangtung2912
@quangtung2912 3 года назад
Some kind of request_id for request deduplicating. But how to generate it reliable in a distributed manner even in the case of Coordinator crash is not an easy task :))
@ornous
@ornous 8 лет назад
Very cool talk. Thanks very much! (:
@hydtechietalks3607
@hydtechietalks3607 4 года назад
Looks like a great fan base here for her... God Save them!
@delprofundo
@delprofundo 6 лет назад
haha thank you! exactly the guidance I needed.
@supermajic
@supermajic 5 лет назад
This didn't click last time I watched this, this time it's like I already understood the whole thing. When did I actually learn it lol.
@HanifCarroll
@HanifCarroll 3 года назад
25:43 Doesn't it make sense t hat it's always the best game they've ever had? Doesn't seem that people are likely to be as upset or call in if you got their stats wrong on a game that they played terribly.
@ИванВоробьев-л4ы
@ИванВоробьев-л4ы 4 года назад
My english is terrible but she is great even for me all was understandably
@bimalgrg8951
@bimalgrg8951 5 лет назад
came from redux-saga docs ... didn't understand
@Greenthum6
@Greenthum6 4 года назад
Yup it was like watching how to build a skyscraper when you need to build a doghouse.
@SunsetRacer
@SunsetRacer 4 года назад
same! :(
@eolculnamo2
@eolculnamo2 3 года назад
As far as I can tell, the Sagas discussed here and Redux Sagas are two very different concepts.
@ChaojianZhang
@ChaojianZhang 3 года назад
21:38 What if the compensating request fail😂
@cvetkovicslobodan
@cvetkovicslobodan Год назад
This is very important actually. You need to capture that compensating transaction failed and mark it for manual intervention to fix it manually. Also, you can have a retry mechanism in place that could help but not always, manual intervention might still be needed. Sometimes even manual intervention could be hard to do as some other events are already applied some changes to that resource so it can become quite challenging to get back to a consistent state in this case.
@rahmanandika612
@rahmanandika612 5 лет назад
cantik
@이자용-s2e
@이자용-s2e 2 года назад
뭔말이냐이게
@gogoubai
@gogoubai 7 лет назад
Good explanation, but why you talk way too fast as if you on the run ?
@JeremyAndersonBoise
@JeremyAndersonBoise 6 лет назад
Gogo Ubari I am sure they didn’t give her an unlimited amount of time to make the presentation, maybe she has a lot to say?
@Ins3rtN4m3H3r3
@Ins3rtN4m3H3r3 6 лет назад
Most people, including professional developers, don't have public speaking as their day job. She was perfectly understandable the way she presented it.
@jamiro85it
@jamiro85it 7 лет назад
nothing new in the distributed transaction world. same old concepts execute/undo with an appealing name
@realB12
@realB12 8 лет назад
Great content but TERRIBLE Speaker: Comme on, we are ment to work on a global scale. So do not speak the way you would speak for a bunch of local American-Friends in a TacoBell . Get dressed, sneeze and moderate your talking speed, please!
@lennahc1925
@lennahc1925 8 лет назад
comments about attire aside, if you don't like the video's speed, you can slow it down by clicking 'settings' in the bottom right, and selecting 'speed'. there just isn't a speed that's appropriate for everyone--I'm a native speaker, so I prefer quicker speakers. I think the best option is for the speaker to speak however fast they want, and then let the users decide at what speed they wish to listen.
@_lede
@_lede 8 лет назад
seriously, a tech guy commenting about the attire? what about male presenters on shorts and t-shirts? I dont find the dress too bad. and the presentation is pretty good too. like +lennahc said you can slow the speed and turn on the caption.
@MrKlaygomes
@MrKlaygomes 8 лет назад
René Baron as a non English native speaker I felt uncomfortable with her speed, but it is still a good talk by the way
@MrKlaygomes
@MrKlaygomes 8 лет назад
Ps. It is not possible slow down video speed on mobile devices :(
@samir_485
@samir_485 7 лет назад
Well I do agree that the speaker talks fast, but it didn't bother me much and I'm not a native speaker. She speaks clearly and loud enough and honestly I prefer this to those 2-hour long talks where the speaker is more concerned about his developer tales and jokes than the subject of the talk.
Далее
РЫБКА С ПИВОМ
00:39
Просмотров 387 тыс.
НЮША РОЖАЕТ?
00:17
Просмотров 893 тыс.
Microservices with Databases can be challenging...
20:52
Do you know Distributed transactions?
31:10
Просмотров 230 тыс.
The mind behind Linux | Linus Torvalds | TED
21:31
РЫБКА С ПИВОМ
00:39
Просмотров 387 тыс.