Top 7 Most-Used Distributed System Patterns

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 พ.ย. 2024

ความคิดเห็น • 95

  • @vonmakeheat
    @vonmakeheat ปีที่แล้ว +4

    I watch all his videos on 1.75 and I swear this is the very best system design tutor on TH-cam !!!!!

  • @agarbanzo360
    @agarbanzo360 ปีที่แล้ว +207

    Great video, but I think it would be good if you mentioned some of the pitfalls or common issues with each of these approaches, in addition to the things they can benefit

    • @maciekp.1930
      @maciekp.1930 ปีที่แล้ว +6

      In 6 minutes? 😅

    • @dennisestenson7820
      @dennisestenson7820 10 หลายเดือนก่อน +23

      Who said it had to be done in 6 minutes?

    • @danielgrannn
      @danielgrannn หลายเดือนก่อน

      I think the purpose of this video is just to introduce into the pattern logic.

  • @АлексГладун-э5с
    @АлексГладун-э5с ปีที่แล้ว +58

    The Ambassador pattern is not typically associated with reducing latency since it introduces an extra component into the communication process between services. In fact, service mesh providers like Istio are often recognized for the latency overhead they contribute.

    • @Winnetou17
      @Winnetou17 ปีที่แล้ว +7

      I think it reduces latency in the event where the busy CEO is doing something else and the other part has to wait for the CEO to handle its request. The ambassador can start handling the request immediately.

    • @teolcd
      @teolcd ปีที่แล้ว

      Every arch has its own pros an cons. API Gateway provides us flexibility over 3-10ms depends on what kind of controls we add to the flow.

  • @furo.v
    @furo.v 24 วันที่ผ่านมา

    In my opinion one of the most important and most used patterns wasn't mentioned here: Job queues (work queues + worker pool). Basically you have a queue of jobs to be completed, and several nodes are working, and when one becomes available (i.e. finishes its previous job), a pending job enters that node. Like a single queue in a shop waiting (=all the pending jobs) and a few cashiers handling them one by one (=the workers).
    The difference from pub sub is that only one node gets the job, since there's no need for multiple nodes to handle the same job.

  • @ChetanSankhala
    @ChetanSankhala ปีที่แล้ว +5

    Awesome video.
    One suggestion to improve it more.
    1) Keep Header for each section on top.
    Example: When explaining Sharding, It will looks good if Sharding is there in full 10 second section

  • @ЄгорПавленко-м4ь
    @ЄгорПавленко-м4ь ปีที่แล้ว +3

    Fantastic! Best event-sourcing explanation ever! I tried to know what event sourcing is many times and understand only from this video, that I actually worked with event sourcing many years when worked with accounting software. Thanks a lot!

  • @iceman4660
    @iceman4660 ปีที่แล้ว

    I view this as a jumpstart into a topic. Enough to get me going. For that I appreciate the work.

  • @amitnilajkar6272
    @amitnilajkar6272 ปีที่แล้ว +6

    beautiful video, just loved every bit of it.

  • @leuhenry8031
    @leuhenry8031 ปีที่แล้ว +5

    awesome! what tools do you use for drawing the beautiful diagrams? I like them so much. It makes knowledge easier

    • @tyronefrielinghaus3467
      @tyronefrielinghaus3467 ปีที่แล้ว +1

      I'd also like to know. The animated reveals make it so much easier to follow.

    • @nicholasw9998
      @nicholasw9998 10 หลายเดือนก่อน

      They are mentioned in the description

  • @dmitrydmitriev2554
    @dmitrydmitriev2554 ปีที่แล้ว +2

    Amazing. Thank you! Please keep on create such kind of videos. The selling point of them is a shortness, them fit perfectly in time gaps and allows to become better without rearranging a schedule of a day.

  • @sujoydutta920
    @sujoydutta920 ปีที่แล้ว +1

    Incredible you just made it so simple to understand Thank you

  • @thereisnootherday
    @thereisnootherday ปีที่แล้ว +11

    I think that Replication should be in the list as one of the most important patterns in distributed systems. Optional: quorum, fencing, eventual consistency, you name it

    • @alvinxyz7419
      @alvinxyz7419 ปีที่แล้ว

      agree

    • @mikhailbalayan1256
      @mikhailbalayan1256 ปีที่แล้ว +6

      Replication is not a pattern, but one of the implementations for CQRS.

  • @zd2600
    @zd2600 ปีที่แล้ว +1

    Good resources. Didn't know that all the pattern names but I have use some of them already.

  • @more-reese
    @more-reese ปีที่แล้ว +2

    These videos are great, thank you for making them. What software do you use for your animated graphics?

  • @bananesalee7086
    @bananesalee7086 ปีที่แล้ว +1

    thank you, you're great as usual

  • @simusokwe
    @simusokwe ปีที่แล้ว +2

    Great videos and clear communicator! What video animation software do you use to create them?

  • @sergiik2168
    @sergiik2168 ปีที่แล้ว +2

    2:49 "When each commit represent a change" - well, in Git each commit represent a snapshot of a filesystem. Diff between commits represent a change. I'm boring, I know.

  • @leomysky
    @leomysky ปีที่แล้ว

    Thank you, very useful information

  • @nicolascortegosovissio2824
    @nicolascortegosovissio2824 ปีที่แล้ว

    Superb explanation

  • @owenzmortgage8273
    @owenzmortgage8273 ปีที่แล้ว

    Very well demonstrated.

  • @ТемурТурсунбаев-л8ю
    @ТемурТурсунбаев-л8ю ปีที่แล้ว

    Like this nice and smooth animation chasing explanation run

  • @charlesopuoro5295
    @charlesopuoro5295 ปีที่แล้ว

    Thanks again and always.

  • @ogrenisme
    @ogrenisme ปีที่แล้ว +1

    This video is a bit of a mixed bag in sense of patterns. While Ambassador and Circuit breaker are surely patters of distributed and distinct systems, CQRS and Event Sourcing are typical examples of how to architect a single application (system).

  • @someoneelse6976
    @someoneelse6976 ปีที่แล้ว

    thanks for the great video!

  • @samuelalmeida9174
    @samuelalmeida9174 ปีที่แล้ว

    Great video! Please, let me know, how do you make this presentations?

  • @belyaev_maks
    @belyaev_maks ปีที่แล้ว

    Appreciate your work. Thank you for clear content!

  • @АртурЗарипов-б2й
    @АртурЗарипов-б2й ปีที่แล้ว

    Thank you very much!

  • @ThiagoMeloBezerra
    @ThiagoMeloBezerra ปีที่แล้ว

    Nice video!
    I love your content.
    I would like to know which tools do you use to make those videos?

  • @grayyeung757
    @grayyeung757 ปีที่แล้ว

    Would like to know more the diff between Event-driven system vs Message-driven system.

  • @officialismailshah
    @officialismailshah ปีที่แล้ว

    Best video nicely explain🎉🎉🎉

  • @zzzzzzzzzzsh
    @zzzzzzzzzzsh ปีที่แล้ว +1

    Thanks for creating such good content Alex!
    I have two comments though..
    1. It's not good to have advertisement video names like this one, especially when the target audience are educated people. I mean based on what statistic you stated that these are the top 7 most used patterns?
    2. In CQRS part, I think the below example you gave is irrelevant. "separate list items (reads) and new orders (writes)". Orders and Items are different domains and they might be in different microservices and also both of them might implement CQRS separately (orders service might have one DB for write and other one for read and same applies to Items).
    Good example would be: a banking application let customers create banking accounts(writes - less frequent) and to retrieve accounts (reads - more frequent).

  • @JosemarAndre-h7m
    @JosemarAndre-h7m ปีที่แล้ว

    Great Video

  • @leanhducvt
    @leanhducvt 4 หลายเดือนก่อน

    Thank you.

  • @kristopherleslie8343
    @kristopherleslie8343 ปีที่แล้ว

    Excellent

  • @codewithkashif
    @codewithkashif ปีที่แล้ว

    I am big fond of your content! However i am still not able to digest that EventSourcing is distributed architecture pattern😮 please guide us

  • @KeiKAndLies
    @KeiKAndLies ปีที่แล้ว

    I cant wait for my database to shart itself.

  • @JackReacher1
    @JackReacher1 ปีที่แล้ว

    Impressive

  • @ashiquehoque762
    @ashiquehoque762 ปีที่แล้ว

    Could you please share the insights of QR CODE and How it works?

  • @SD-df3kn
    @SD-df3kn ปีที่แล้ว

    Hi. What do you use to create these presentations/animations. I'd like to use it for my interviews. Thank you.

  • @南方中阳
    @南方中阳 ปีที่แล้ว

    How do you make animation in the video , it is very nice, I want to learn ,please share me the way

  • @Infalodon
    @Infalodon ปีที่แล้ว

    Is using a queue with large retry time would be considered as a circuit breaker?

  • @vampiroast
    @vampiroast ปีที่แล้ว

    What pattern or strategy can I use for a website that sells tickets for movie theaters?, for example if a user selects seat 1-A he's given 5 minutes to complete the process and buy the ticket, I assume that in those 5 minutes the seat cannot be selected and buyed by another user, I'm not really sure if that's the way the website should behave or if another user can buy a ticket for the same seat. Taking it a little bit further imagine that user can buy tickets using a website, an app, and directly in the movie theater.

  • @jakebiggs7282
    @jakebiggs7282 8 หลายเดือนก่อน

    is sharding the same as chunking?

  • @rumplstiltztinkerstein
    @rumplstiltztinkerstein ปีที่แล้ว

    Chatgpt uses something similar to CQRS right? The AI doesn't learn with our input. Its learning process is verified by an employed before being accepted to the AI

  • @ryankan1
    @ryankan1 ปีที่แล้ว

    what's the diagramming tool that you used for the video?

  • @srinivasareddy3709
    @srinivasareddy3709 ปีที่แล้ว

    which tool you are using for creating slides ?

  • @johnday2631
    @johnday2631 ปีที่แล้ว +1

    how to you create your info graphics?

  • @amirsaeed3395
    @amirsaeed3395 ปีที่แล้ว +1

    More examples and breakdown would have been even better.

  • @drtf2000
    @drtf2000 ปีที่แล้ว

    Kubernetes does not use Envoy natively. Istio does.

  • @jne1000000
    @jne1000000 ปีที่แล้ว

    Isn't rate limiter also a very common distributed systems pattern?

  • @MahmoudSaed98
    @MahmoudSaed98 16 วันที่ผ่านมา

    CQRS

  • @nkbuaa
    @nkbuaa ปีที่แล้ว +1

    This is too high level and too abstract.
    Would be great to expand each one.
    I found most of the top x videos are hard to digest. In 5-7mins, it will be great to dive deep into one topic and explain it well

  • @AndrewBreunig
    @AndrewBreunig หลายเดือนก่อน

    I see an opportunity to convey a different message to early career engineers by portraying the busy CEO as a woman, rather than the executive assistant as a woman.

  • @Jkauppa
    @Jkauppa ปีที่แล้ว

    most best complex systems deterrent is k.i.s.s. or go home and stay there

    • @Jkauppa
      @Jkauppa ปีที่แล้ว

      tired of your distributing of your loads onto people

    • @Jkauppa
      @Jkauppa ปีที่แล้ว

      well, have skill or be evolutionized/darwinized, survival of the fittest, like you animals like to call it, and make it so

    • @Jkauppa
      @Jkauppa ปีที่แล้ว

      yeah you do it, not others for you, tired of that distributed smuggling system

    • @Jkauppa
      @Jkauppa ปีที่แล้ว

      none of you actually do anything (useful)

    • @Jkauppa
      @Jkauppa ปีที่แล้ว

      and no, you defining yourself useful does not make you useful, this is not useful, stop talking, do something

  • @muoinamdensach
    @muoinamdensach ปีที่แล้ว

    hello :D

  • @shaleensaxena1664
    @shaleensaxena1664 ปีที่แล้ว +1

    Is there a way to actually build and try such patterns? I understand better by doing.

    • @shentot6
      @shentot6 ปีที่แล้ว

      Yes! You could totally build a toy system for it. It could be only code or only diagrams. Which suites you best!

    • @shaleensaxena1664
      @shaleensaxena1664 ปีที่แล้ว

      @@shentot6 I would prefer to build a toy system. Any suggestions or guidance on how to get started?

    • @slashd0t1
      @slashd0t1 ปีที่แล้ว

      @@shaleensaxena1664 create a diagram with the system configuration for your toy system and list the tools you would use(eg elastisearch, kafka). Browser their sdks or learn those technologies depending on your current level of knowledge. Then all but left to build it depending on your choice of programming language. You could actually learn the technologies like kafka while coding the application. Happy coding

  • @whenkunda8447
    @whenkunda8447 ปีที่แล้ว

    Alex, felt too quick

  • @rashmitambe
    @rashmitambe ปีที่แล้ว

    Whoops, you accidentally set the CEO as male and secretary as female. Would be great to fix your bias in future videos. It would suck to take away from your great content.

  • @adicide9070
    @adicide9070 ปีที่แล้ว

    it feels like you don't know what you're reading sometimes.

    • @sandybeaches
      @sandybeaches ปีที่แล้ว

      Are you talking to yourself?

  • @Chris-b-2
    @Chris-b-2 ปีที่แล้ว

    First? :D

  • @ordinarygg
    @ordinarygg ปีที่แล้ว +3

    How to make ads and people don't understand this is ads. Brilliant work) almost 0% real and applicable knowledge, not include PostgreSQL in sharding?) I even don't understand who is this guy and what he did and why all of you listening to him)) it's literally copy paste from books) most of this info is 90% not used widely only used for interviewing jobs. Real things are much ugly everywhere, I thought your glasses will be pink LOL)

    • @ac5719
      @ac5719 ปีที่แล้ว +4

      I don't understand your gripes with the video. It introduced 7 distributed systems patterns. If any of them seem applicable for your project, then now you know what pattern to go in-depth into. They even named commonly used services that utilize/offer these patterns. I agree that real projects are often not as well-executed as the theory, but I feel like you learn the ideal/theoretical design to then make the necessary compromises based on your project's limitations.

    • @casiowatch125
      @casiowatch125 ปีที่แล้ว +6

      I have used all seven of these patterns (+ strangler fig) in production systems. Although I would not refer to them as "patterns". of course this is an advertisement for the books and newsletter. i own both of the books and found them to be quite valuable. The intended audience is not for complete begineers. I like short videos like this too. They are nice little refreshers

    • @NeetCode
      @NeetCode ปีที่แล้ว +11

      I think you're missing the point of the video, if I'm understanding you correctly (which is hard with such an incoherent comment)

    • @ordinarygg
      @ordinarygg ปีที่แล้ว

      @@casiowatch125 "I have used all seven of these patterns (+ strangler fig) in production systems" size of prod, not in DB size but in actual services or users size?

    • @casiowatch125
      @casiowatch125 ปีที่แล้ว +2

      @@ordinarygg my team handle ~80 services
      Business 12m+ users monthly

  • @alexpablo90
    @alexpablo90 ปีที่แล้ว

    Great video