Design more decoupled services with one weird trick - Udi Dahan - NDC Oslo 2024

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

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

  • @penaplaster
    @penaplaster 2 หลายเดือนก่อน +3

    Listening to Udi is always both a pleasure and a great education. To explain a complex thing in simple words as a coherent story requires lots of knowledge and experience. Thanks for sharing. Like always, it was legen… wait for it… dary. Legendary 😀

  • @roman-urum
    @roman-urum 2 หลายเดือนก่อน +3

    What a great speaker, thank you.

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

    Udi is a fantastic speaker and this is a great talk and it has been featured in the last issue of Tech Talks Weekly newsletter 🎉
    Congrats!

  • @milanimilivoj
    @milanimilivoj 11 วันที่ผ่านมา

    Thanks

  • @FenelZ
    @FenelZ 2 หลายเดือนก่อน +6

    Spoiler: the trick is to generate a client side ID for your entities.
    With all due respect to Udi, I'm kinda disappointed by this talk. I expected something about managing coupling in complex systems, but this turned out to be about a specific solution to a specific problem.

  • @t529615
    @t529615 2 หลายเดือนก่อน +1

    Great talk for a great speaker... I can rallly! recoment his 5 days class.. Absolutly worth the time and money

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

    Important note, that if you're "packaging" all the data into 1 request, which will be split and sent to different services later on, then your business might lose important metrics, for example, when order is placed, but shipping (or anything else) information was not provided. Cause order is placed as a whole or not at all. If I were a business, I'd want to know why and where is the problem.
    You can still achieve somewhat the same result with stream processing (aggregation, ksql, whatever) and collect important metrics.
    Or am I missing something?

  • @NitinGaur-b7l
    @NitinGaur-b7l หลายเดือนก่อน

    Calling separate service APIs from micro-frontends carries risk of compromising order integrity. If any of the network calls fails, it will leave the backend order in an inconsistent state. For any revenue generating system like two examples mentioned, it is not a risk worth taking, IMHO. Do the trade-off analysis before implementing the de-coupling at UI layer. Tx

  • @vbachris
    @vbachris 2 หลายเดือนก่อน +1

    the shape of data is just as much a constraint as the behavior

  • @01110100011101110110
    @01110100011101110110 2 หลายเดือนก่อน +3

    Have you really decoupled your system if every part of your system must use the same unique ID for a given entity? Sure, if you remove your FKs and move data to a different database, you won't find an arrow in your DB diagram linking two entities together, but there is still logical coupling between them. Now you have introduced more complexity to handle your business logic. Is it worth it? Maybe, depending on the complexity of your product and organization. Building any sufficiently complex distributed system is hard, so do it only when there are clear advantages present in your concrete situation.

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

      @@01110100011101110110 coupling is nothing more than a measure of effort required to make a change. Just because two services use the same ID doesn't mean that there is a coupling. Furthermore, there will always be SOME coupling. The only real decoupling is if two systems don't interact with each other at all, and that's not the case with systems serving the same business domain.
      Here, "decoupling" by using the same UUID means that one service can update its internal workings, and indeed its database schema or technology, without affecting other services. Each service also holds its own subset of data about a particular entity, the only thing having in common being the entity's ID.

  • @abhijeethaval
    @abhijeethaval 2 หลายเดือนก่อน +1

    I wish I knew this trick earlier. 😊

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

      Bro I never thought nothing even close. I oye this guy 500 dollars minimun.

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

    My user clicks on a button in a screen. Please tell me how Pub/Sub could work with it without transforming an interaction based flow into a subscription based, without "increasing complexity".

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

      are you dense or just graduated from wordpress uni? how do u think web api’s work?

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

      @@trejohnson7677 A little agressive, no?

  • @vincentcifello4435
    @vincentcifello4435 2 หลายเดือนก่อน +1

    Vertical slices, data ownership, encapsulation. th-cam.com/video/PEKxP8DqEt4/w-d-xo.html. Yeah, really. Udi is the only one who is actually serious about it.

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

    introducing, graphql subscriptions!

  • @minor12828
    @minor12828 2 หลายเดือนก่อน +4

    This is hilarious. Spoiler the trick is in his name!

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

      Clue: 🙃

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

      UUID Dahan :D

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

      At 42:00 😅

  • @hnb13686
    @hnb13686 2 หลายเดือนก่อน +23

    Please dont waste your time like me. his trick is that if you want to manage decoupled data at different parts, create corelating ID upfront before record is created and use it for parallel functions for coupling where needed. This is first NDC Conference video i found so bad and got tricked into watching it.

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

      Thanks man saving my time:)

    • @ernest1520
      @ernest1520 2 หลายเดือนก่อน +8

      I don't think this comment does justice. Pretty much everything can be summarised like that. Even books- "not worth reading, here are the bullet points with key takeaways". The point about such presentations is the additional context.

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

      Bless you my guy

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

    The sales component is totally decoupled. An item is an item and it has a price.
    Until you start selling services, whose price may be based on a rate and a duration, and the duration may not be known up front. Or the rate may change over time.
    In the real world business rules are not as decoupled as this presentation assumes.

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

    28:25 DAL

  • @sarunas8002
    @sarunas8002 2 หลายเดือนก่อน +1

    "you cannot show one price and charge another price". What planet is he from ? :D

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

      Fr, this literally happened to me last week. I booked a hotel for August 3rd in may and got charged ~1.2x the price and only found out when I was checking in

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

    Why the "clickbait" title for a tech talk? It's not even funny. People interested in these topics need to invest their time wisely.

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

    resume-driben development, that's how average works, they come in packs.