Modular Monolith Architecture (The Ultimate Modular Monolith Blueprint)
Год выпуска: 6/2024
Производитель: Milan Jovanovic
Сайт производителя:
https://www.milanjovanovic.tech/modular-monolith-architecture
Автор: Milan Jovanovic
Продолжительность: 12h 48m 20s
Тип раздаваемого материала: Видеоурок
Язык: Английский
Субтитры: Английский
Описание:
This in-depth course will transform the way you build modern systems. You will learn the best practices for applying the Modular Monolith architecture in a real-world scenario. Join 2,100+ other students to accelerate your growth as a software architect.
"You shouldn't start a new project with microservices, even if you're sure your application will be big enough to make it worthwhile." — Martin Fowler
WHAT'S INSIDE
Modular Monoliths: Introduction
- We'll start with the foundations. Building a modular monolith requires a deep understanding of monoliths and microservices. Modular monoliths take the best of both worlds.
Defining Module Boundaries
- You will learn how to apply Domain-Driven Design and Event Storming to explore potential domain boundaries. This is where we'll introduce the sample application we will build.
Module Cross-Cutting Concerns
- How do you apply cross-cutting concerns without coupling the modules? Here, you're going to learn how to isolate dependency injection, configuration, and more for each module.
Module Communication
- We're going to explore the two ways how modules can communicate. This will determine how flexible your system will be for future changes.
Authentication & Authorization
- We can't build a production-ready system without robust authentication and authorization. Here, we will introduce token-based authentication and RBAC (Role-Based Access Control).
Architecture Enforcement
- What good is a shiny software architecture if we can easily break it? You'll learn 3 techniques you can apply to ensure your team sticks to the modular monolith architecture.
Reliable Messaging: Outbox and Inbox
- What happens if we fail to publish a message? How do we apply temporal decoupling? How do we implement idempotency? You'll learn all of this and so much more.
Event-Driven Architecture
- We're going to explain what it means to be event-driven. You will learn how the reactive programming paradigm can help you implement a robust, loosely coupled system.
Testing Modular Monoliths
- How can you have complete confidence in your system? I'll show you a powerful approach for testing modular monoliths. It's almost like running our system in the real world.
Microservices: Extracting Modules
- Finally, I'm going to present how to transition from a modular monolith to microservices. We will also introduce an API Gateway and distributed messaging system.
BONUS COURSE #1
Modular Monoliths: CQRS With MongoDB
- If you're wondering how to introduce a document database to a modular monolith, this bonus course contains the answers.
BONUS COURSE #2
Modularize Your Monolith: A Quick Guide
- To help you modularize an existing monolith application, I've bundled in a complete bonus course that walks you through the basics.
More Than Just Theory
- Modular Monolith Architecture includes more than just theoretical discussion.
- We're going to build a production-ready system from scratch. This includes dozens of API endpoints, 50+ use cases, and 6000+ lines of code.
- I built the course with bonus resources to make sure you apply what you learn.
After Completing This Course You Will
- Confidently use Modular Monoliths to build robust and scalable systems
- Learn how to create an architecture that stands the test of time
- Understand how to implement an event-driven system
- Easily migrate to microservices (if you need to)
Формат видео: MP4
Видео: avc, 1920x1080, 16:9, 60.000 к/с, 381 кб/с
Аудио: aac lc, 48.0 кгц, 128 кб/с, 2 аудио
MediaInfo
General
Complete name : D:\2_1\Milan Jovanovic - Modular Monolith Architecture (The Ultimate Modular Monolith Blueprint) (6.2024)\0030_Token_Based_Authentication.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/iso2/avc1/mp41)
File size : 54.7 MiB
Duration : 14 min 39 s
Overall bit rate : 522 kb/s
Frame rate : 60.000 FPS
Writing application : Lavf60.3.100
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.2
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference frames : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 14 min 39 s
Bit rate : 381 kb/s
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 60.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.003
Stream size : 39.9 MiB (73%)
Writing library : x264 core 164
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=34 / lookahead_threads=5 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=26.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Codec configuration box : avcC
Audio
ID : 2
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 14 min 39 s
Bit rate mode : Constant
Bit rate : 128 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 48.0 kHz
Frame rate : 46.875 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 13.4 MiB (25%)
Default : Yes
Alternate group : 1