Top 7 Most-Used Distributed System Patterns

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 มิ.ย. 2024
  • Get a Free System Design PDF with 158 pages by subscribing to our weekly newsletter.: blog.bytebytego.com
    Animation tools: Adobe Illustrator and After Effects.
    Checkout our bestselling System Design Interview books:
    Volume 1: amzn.to/3Ou7gkd
    Volume 2: amzn.to/3HqGozy
    The digital version of System Design Interview books: bit.ly/3mlDSk9
    ABOUT US:
    Covering topics and trends in large-scale system design, from the authors of the best-selling System Design Interview series.

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

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

    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 ปีที่แล้ว +5

      In 6 minutes? 😅

    • @dennisestenson7820
      @dennisestenson7820 4 หลายเดือนก่อน +12

      Who said it had to be done in 6 minutes?

  • @user-ey2sw8wx7e
    @user-ey2sw8wx7e ปีที่แล้ว +2

    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!

  • @user-yw9us2qo6g
    @user-yw9us2qo6g ปีที่แล้ว +55

    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.

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

    beautiful video, just loved every bit of it.

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

    Incredible you just made it so simple to understand Thank you

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

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

  • @vonmakeheat
    @vonmakeheat 7 หลายเดือนก่อน +1

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

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

    Appreciate your work. Thank you for clear content!

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

    Saw several great videos on this channel now, subbed!

  • @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.

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

    Very well demonstrated.

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

    thank you, you're great as usual

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

    Thank you, very useful information

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

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

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

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

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

    Thanks again and always.

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

    thanks for the great video!

  • @user-mg7cw4gh3j
    @user-mg7cw4gh3j ปีที่แล้ว

    Like this nice and smooth animation chasing explanation run

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

    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

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

    Superb explanation

  • @user-vi2fp6dl7b
    @user-vi2fp6dl7b 7 หลายเดือนก่อน

    Thank you very much!

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

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

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

    Best video nicely explain🎉🎉🎉

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

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

  • @user-vs9zl4rc3b
    @user-vs9zl4rc3b ปีที่แล้ว

    Great Video

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

    Excellent

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

    Great video

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

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

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

    Impressive

  • @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 5 หลายเดือนก่อน

      They are mentioned in the description

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

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

  • @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.

  • @SD-df3kn
    @SD-df3kn 8 หลายเดือนก่อน

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

  • @alexanderpereiaslavets3932
    @alexanderpereiaslavets3932 ปีที่แล้ว +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.

  • @user-br1nb9ec5q
    @user-br1nb9ec5q ปีที่แล้ว

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

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

    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.

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

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

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

    which tool you are using for creating slides ?

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

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

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

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

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

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

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

    is sharding the same as chunking?

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

    how to you create your info graphics?

  • @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).

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

    I cant wait for my database to shart itself.

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

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

  • @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

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

    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).

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

    Kubernetes does not use Envoy natively. Istio does.

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

    hello :D

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

    More examples and breakdown would have been even better.

  • @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

  • @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

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

    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

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

    Alex, felt too quick

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

    First? :D

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

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

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

      Are you talking to yourself?

  • @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.

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

    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

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

    Where is SAGA?!