Lesson 159 - Modular Monolith Architecture

Поділитися
Вставка
  • Опубліковано 2 лис 2024

КОМЕНТАРІ • 23

  • @bake084
    @bake084 Рік тому +4

    I am delighted to have discovered your channel Mark.

  • @ren.oooooo
    @ren.oooooo Рік тому

    Thanks and safe travels

  • @brianbahati1553
    @brianbahati1553 Рік тому

    Great lesson Mark

  • @cflowlastname548
    @cflowlastname548 3 місяці тому

    If the modular monolith loads is module at runtime as DLL/.so/JAR etc, it is possible to go full microservice with it by just deploying each module in its own monolith, or probably more common you can do service oriented architecture by grouping one or more modules into a few monoliths. So it is way more flexible that a normal mononlith or a micro service and you get the best properties without none of the negatives.
    The only thing I see a microservice architecture does better is to allow mixing of languages since a modular monolith would require all its modules to be implemented in the same language. But this is a moot point because if that is a requirement, you can just as easily write multiple monoliths per language (which you would have to do in a microservice anyways).

    • @markrichards5014
      @markrichards5014  3 місяці тому

      You could, but keep in mind the modular monolith is a single deployment unit, regardless of how the modules are organized (in code, DLL, JAR, etc.), whereas microservices are separate deployment units for each module.

  • @ignac1996
    @ignac1996 Рік тому

    Hello Mark! I love your lessons! My question regarding this lesson is as follows: In microservices, we maintain independence between services by implementing, for example, a chain of events. But how to maintain such independence in the case of modular monoliths, where we do not use these events?

    • @markrichards5014
      @markrichards5014  Рік тому +1

      Basically, strict adherence to maintaining a separation of the domain and architecture components through automated governance with tools such as ArchUnit, NetArchTest, and ArchUnit.NET. I'll do a lesson on this for you!

    • @ignac1996
      @ignac1996 Рік тому

      @@markrichards5014 Thank you! I will be waiting for the video!

    • @remb2
      @remb2 Рік тому +2

      You can use an in-memory event bus and use a layer in each module that its sole purpose is to communicate with the event bus, each module will expose its contracts to the event bus and that's how you decouple communication between modules. you can even use rabbitMQ nobody stops you

  • @KnowlegeStream
    @KnowlegeStream 8 місяців тому

    Thanks a Great Great Great piece of knowledge , very rare on you tube , if possible please also add some code example

  • @SteveLeve
    @SteveLeve Рік тому +1

    It's great to have this compare & contract with other styles, really helps build context.
    Simon Brown is mentioned in the video regarding Modular Monoliths, here is a 2018 GOTO talk on the subject;
    ua-cam.com/video/5OjqD-ow8GE/v-deo.html

    • @markrichards5014
      @markrichards5014  Рік тому

      Thank you so much for that link!

    • @slobodanmikaric2180
      @slobodanmikaric2180 8 місяців тому

      This is my favourite take about Modular Monolith architect ua-cam.com/video/BOvxJaklcr0/v-deo.htmlsi=Cuc0p2UZPYE-d1L1

  • @MatthewRees7
    @MatthewRees7 Рік тому +1

    I've found this a good structure for iOS and Android apps that are split across multiple teams

  • @yar697
    @yar697 Рік тому

    Hello, Mark. I am sorry, but i cant understand the point of SBA at all.
    Please, can you make video about it?
    As i understood, thats for situation, when data in scalled micro-service instances is interdependent. But i am confused that its useful for whole system architecture, not just for micro-services like i said.
    So, i cant imagine what it should be(

    • @markrichards5014
      @markrichards5014  Рік тому

      I'll be doing SBA on lesson 163 (right after microservices), so stay tuned!

  • @Loutistic
    @Loutistic 8 місяців тому

    6:50 - The Fundamentals of Software Architecture does not have chapter on modular monolith. Only Layered, Pipeline and Microkernel.

    • @markrichards5014
      @markrichards5014  8 місяців тому

      That is correct - we didn't include this architecture style in our book.

  • @ДмитрийКозлов-к8г
    @ДмитрийКозлов-к8г 6 місяців тому

    The modular monolith is progressing
    It becomes like an embedded microservice with they features. Such as one base per module, a ban on direct function calls, a ban on the shared mutable state
    Now code checkers are able to guarantee the implementation of such architectural prohibitions
    So, it gets rid of many disadvantages and You can set high scores on all points