Это видео недоступно.
Сожалеем об этом.

How to scale Laravel: beyond the basics (Advanced Laravel Scaling)

Поделиться
HTML-код
  • Опубликовано: 14 авг 2024
  • #laravel #webdev #php #mysql #aws
    In this video we’ll be talking about some lesser known methods that helped me scale my Laravel apps to millions of users. I’ve got 5 great tips for you, so let's dive in!
    ---
    Article:
    www.sabatino.d...
    00:00 - Start
    00:14 - Read & write database connections
    01:56 - Batch inserts & updates
    03:45 - Full page cache
    05:37 - Precomputed JSON files on a CDN
    07:54 - Don't run synchronous reports

Комментарии • 85

  • @samldev
    @samldev Месяц назад +2

    Great video! It’s awesome to hear real world problems that are solved compared to just examples of how these things could be used

  • @ivanostojic1339
    @ivanostojic1339 Месяц назад +4

    Great content, something new learned that's refreshing!

  • @codingwithfazley
    @codingwithfazley Месяц назад +4

    Really amazing video. Learned something new from this.

    • @sabatino-dev
      @sabatino-dev  Месяц назад

      Thanks, glad you learned something!

  • @popetgirl
    @popetgirl Месяц назад +2

    I really like the idea of Tables.json files, want know more about his how you are doing that.

    • @sabatino-dev
      @sabatino-dev  Месяц назад +4

      Might make a separate video about this entire topic 🙏

  • @umahatokula9586
    @umahatokula9586 Месяц назад +1

    I didn't learn a thing or two. I learned 5. Thanks buddy!

  • @mind.journey
    @mind.journey Месяц назад

    Great point about pre-computed json files. I'll definitely incorporate that into my own app

  • @Irnovi27
    @Irnovi27 Месяц назад

    Precomputed JSON files on a CDN is pretty interesting. I will dive in

  • @fahadaldhafairi2322
    @fahadaldhafairi2322 5 дней назад

    Could you make separate videos about each of below topics explain it in details with real world examples. please ?
    - Separate Ready and Write ( Insert, update & delete ) connection to database.
    - Batch inserts & updates.
    - Don't synchronous reports ( but report in queue so other tasks in app won't slow because of slow reports ).
    Also what do you think of using Laravel Octane with Swoole or FrankenPHP for scaling ?

    • @sabatino-dev
      @sabatino-dev  4 дня назад

      I have some videos on my backlog for those topics 🙏 I rarely use Octane, but the way I’d use it is to optimise specific routes. For example, I have a /pingback route that is used by client machines to signal their status once every minute. I run this route with Octane because it gets used 600-800 times per minute. Using Octane, we can skip setting up the entire framework that many times, and thus making the route much faster

  • @coolcha
    @coolcha Месяц назад

    This is such a good video with so many important points covered. Thank you for sharing.

  • @gamekonet
    @gamekonet Месяц назад

    Amazing tips as always, its the first time i hear about pre-computed json files in cdn, wonder how i can utilize it one day, Thank you and Best of luck!!

  • @florianlutze9068
    @florianlutze9068 Месяц назад

    Great video, I love the insights about your own app and the learnings!
    Keep it up😊

    • @sabatino-dev
      @sabatino-dev  Месяц назад +1

      Thank you! Will do!

    • @florianlutze9068
      @florianlutze9068 Месяц назад

      @@sabatino-dev I'd be curious about some insights on how you gained the first customers for your SaaS, maybe you could do a video about that in the future :)

    • @sabatino-dev
      @sabatino-dev  Месяц назад +1

      Good idea, thanks for the suggestion!

  • @Khalyomede
    @Khalyomede Месяц назад

    Nice point about read/writes replica!

  • @zoba82
    @zoba82 23 дня назад

    Great and really smart tips, thank you!

  • @rosselliot8971
    @rosselliot8971 Месяц назад

    Fantastic. More like this would be great.

  • @clifftonnjoroge9301
    @clifftonnjoroge9301 Месяц назад +1

    Great video, thanks for the tips. Which tool are you sing to view the raw queries?

    • @sabatino-dev
      @sabatino-dev  Месяц назад

      Thanks! It's barryvdh/laravel-debugbar

  • @kuthub1989
    @kuthub1989 Месяц назад

    Excellent Explanation.

  • @eyyyyd
    @eyyyyd Месяц назад

    This is amazing! keep up the good work!

    • @eyyyyd
      @eyyyyd Месяц назад

      This is real use case. This is very cool than others teaching only from their theories

    • @sabatino-dev
      @sabatino-dev  Месяц назад +1

      I learn more by doing myself instead of just reading the theory, so I like to translate that into the videos 👏

    • @eyyyyd
      @eyyyyd Месяц назад

      @@sabatino-dev your content is gold, eventually the whole laravel community will be able to see this 🎉

  •  Месяц назад

    Nice video, and nice UA Ox!

  • @shadyarbzharothman8689
    @shadyarbzharothman8689 Месяц назад +1

    Great Video!

  • @vpuente
    @vpuente Месяц назад

    Really good video, thanks!

  • @melekRebai
    @melekRebai Месяц назад

    Good informative video

  • @fahadullah4248
    @fahadullah4248 Месяц назад

    Great tips bro ❤

  • @HaseebRiasat-g9d
    @HaseebRiasat-g9d Месяц назад

    bro please come up with more content like this

  • @windallerox
    @windallerox Месяц назад

    Great video my man

  • @HarshGupta-di6sx
    @HarshGupta-di6sx Месяц назад

    Awesome video was just curious what are you using for creating json files up to date

    • @sabatino-dev
      @sabatino-dev  Месяц назад

      No specific libraries, we just have a TableResource and the output of that resource will be sent to S3 using the AWS SDK

  • @beysachpromax
    @beysachpromax Месяц назад

    great content keep it up 💯

  • @samahnation
    @samahnation Месяц назад

    i need to learn more from this, do you have special paid consultations?

    • @sabatino-dev
      @sabatino-dev  29 дней назад

      Currently no plans of doing that unfortunately, but that may change in the future. You can join the discord server where I'll do announcements of this type of stuff discord.gg/CPnUMM7s

  • @mind.journey
    @mind.journey Месяц назад

    How to manage a full-page cache when the page has also state? (e.g. a logged-in user shown in the header, or other user-specific info)

    • @sabatino-dev
      @sabatino-dev  Месяц назад

      In many systems full-page cache applies to non-logged in users only, because of state as you pointed out. Alternatively, you could fetch state asynchronously using an API.

  • @SEOng-gs7lj
    @SEOng-gs7lj Месяц назад

    which database do you use? any video on setting up a read replica?

    • @sabatino-dev
      @sabatino-dev  Месяц назад +1

      We currently use AWS RDS, I might create a video on how to set up a read-replica!

    • @SEOng-gs7lj
      @SEOng-gs7lj Месяц назад

      @@sabatino-dev thanks an open sourced DB will be good too!

    • @junjungaming855
      @junjungaming855 Месяц назад

      ​@@sabatino-devplease make a video about read replica

  • @taslimsuman
    @taslimsuman Месяц назад

    Love it

  • @marius-mihailionte339
    @marius-mihailionte339 Месяц назад

    Why do you need to use AWS DBMS service when you have AWS Aurora or AWS RDS Multi-AZ?
    And regarding precomputed files and CDN, your solution involves some client side processing, the app is not full server side from what i understand, involving a JS framework/library or some vanilla JS is required, meaning that Laravel is not part of this improvement.

    • @sabatino-dev
      @sabatino-dev  Месяц назад

      Initially we hosted our database at Linode (no read-replica), so we had to use DBMS to migrate off of Linode.
      Regarding the precomputed files -> Laravel is in fact part of the solution, it validates the data, merges open orders on it, invalidates caches, marks orders as stale, sends events, ... - the app is in fact a Vue SPA, but Laravel does a lot of processing behind the scenes.

  • @gillesashley9314
    @gillesashley9314 Месяц назад +1

    How I wish the entire backend ecosystem is just PHP and Laravel.

    • @sabatino-dev
      @sabatino-dev  Месяц назад

      You and me both 😅

    • @shocchosolutions6275
      @shocchosolutions6275 Месяц назад

      ​@@sabatino-devyou have 2 million user bro make a video how to search feature on that like e-commerce app

  • @gazorbpazorbian
    @gazorbpazorbian Месяц назад

    Why aren't you using the built-in Laravel cache system?

    • @sabatino-dev
      @sabatino-dev  Месяц назад +1

      I do use it, but sometimes it’s not enough. I’m talking about handling hundreds (if not thousands) of requests per second in a (cost) efficient way.

    • @gazorbpazorbian
      @gazorbpazorbian Месяц назад

      @@sabatino-dev could you make a comparison between the two?

    • @sabatino-dev
      @sabatino-dev  Месяц назад

      Good suggestion!

  • @mauricioarenales
    @mauricioarenales Месяц назад

    thanks baby

  • @He4vyD
    @He4vyD Месяц назад

    Your accent sounds Belgian, your name Italian and your face Indian. Did I get any of that right? 😊

    • @sabatino-dev
      @sabatino-dev  Месяц назад

      Italian living in Belgium, so 2 out of 3 😂👏

    • @He4vyD
      @He4vyD Месяц назад

      After watching more of the video, and seeing the food ordering webapp, I’m pretty sure I got the Belgian part right 😅

  • @samahnation
    @samahnation 29 дней назад

    @sabatino-dev can i have consultation, if so please get back to me because i really need your assistance?

    • @sabatino-dev
      @sabatino-dev  29 дней назад +1

      Currently no plans of doing that unfortunately, but that may change in the future. You can join the discord server where I'll do announcements of this type of stuff discord.gg/CPnUMM7s

    • @samahnation
      @samahnation 27 дней назад

      @@sabatino-dev thank you ma man!!