Laravel Microservices Full Course | Event Driven Architecture with RabbitMQ

Поділитися
Вставка
  • Опубліковано 14 лип 2024
  • 👉 Check our website: scalablescripts.com
    Laravel Microservices: Breaking a Monolith to Microservices: scalablescripts.com/p/laravel...
    Source Code: github.com/scalablescripts/la...
    Learn how to create a simple Event-Driven Architecture app with Laravel and RabbitMQ.
    00:00:00 Project Introduction
    00:03:42 Connect Laravel and Mysql with Docker
    00:16:04 Migrations, Seeders and Factories
    00:26:07 Products Rest API CRUD
    00:38:20 Main App Setup
    00:45:19 RabbitMQ
    00:53:26 Data Consistency Between Microservices
    01:04:26 Internal Http Requests
    01:15:11 Queue Service
    #laravel #microservices #rabbitmq

КОМЕНТАРІ • 69

  • @lordsiaw257
    @lordsiaw257 Рік тому +3

    Thank you for this tutorial. It was really easy to follow and more concise than exist out there.

  • @ismaelromero4369
    @ismaelromero4369 2 роки тому +2

    Thank you so much!!! Is a perfect explanation about API CRUD in laravel, Jobs and Event Driven Patterns
    Best regards from Colombia !!!

  • @benedictnamatiti5615
    @benedictnamatiti5615 3 роки тому +2

    What an awesome tutorial. Great work...keep it up

  • @MuslimAswaja
    @MuslimAswaja 11 місяців тому

    Absolutely fantastic. I follow this tutorial and success to the end chapter.
    Thank you!

  • @mehfoozulhaq498
    @mehfoozulhaq498 3 роки тому

    a beautiful and well-explained topic on rabbitMQ using laravel. hatsup sir...

  • @aleksdeveloper698
    @aleksdeveloper698 3 роки тому +3

    1:59 lets see an example for example :D Made my day.

  • @souravsinha5330
    @souravsinha5330 3 роки тому

    Thanks you sir. Learned a lot. Love from India

  • @ScalableScripts
    @ScalableScripts  3 роки тому +2

    Reminder that you can use this video with other videos:
    VueJS and Laravel Microservices: ua-cam.com/play/PLlameCF3cMEtkRtjMoJ58yp_rHLufd9RB.html
    React and Laravel Microservices: ua-cam.com/play/PLlameCF3cMEtKse3dsI219ILOS6oqYic6.html
    Angular and Laravel Microservices: ua-cam.com/play/PLlameCF3cMEvEHatPcE5xHO6C0aIXPusX.html

  • @lincolnbiancardi6990
    @lincolnbiancardi6990 2 роки тому +15

    Thank you so much for the teaching. It took me a long time to find an explanation as good and simple as yours, congratulations for the great work!
    Best regards from Brazil guys!

  • @toufik4044
    @toufik4044 3 роки тому +1

    Amazing topics.

  • @Henryy97
    @Henryy97 3 роки тому +1

    Thank you!

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

    This is an amazing tutorial,, Thank you!!

  • @bevedel
    @bevedel 2 роки тому

    so helpful tutorial. thank you.

  • @behzaddadashpour9723
    @behzaddadashpour9723 3 роки тому

    great, thanks a lot!

  • @100dollerbill4
    @100dollerbill4 3 місяці тому

    Thank you for this video. I was just looking for this to add this in my project

  • @alaburausmanaliyu9949
    @alaburausmanaliyu9949 2 роки тому

    Thank you very much cheers!

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

    Thank you for this tutorial.

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

    thanks man... clear and very good😉 content

  • @ashishnimrot9221
    @ashishnimrot9221 3 роки тому +1

    Unique tutorial sir

  • @raphaelandrade555
    @raphaelandrade555 5 місяців тому

    Thank you, it helped me a lot

  • @charbelabouyounes6683
    @charbelabouyounes6683 3 роки тому +2

    This is awesome thank you so much for the effort and work that you put to create these videos.

    • @charbelabouyounes6683
      @charbelabouyounes6683 3 роки тому +1

      I bought your course after seeing this video and until now I am really enjoying the content. Great work

  • @sunhsiang6644
    @sunhsiang6644 3 роки тому +1

    Good idea

  • @shashi801
    @shashi801 2 роки тому

    thanks

  • @manudokiller
    @manudokiller 3 роки тому +1

    It looks pretty awesome.. I really need it and I will try it.. Just a question: why aren´t you using a relationship between User and Product ?? I think you can use a relationship for the User's Products and another for Product's Users Likes... Best regards from Costa Rica guys

  • @micasntna
    @micasntna 2 роки тому

    good man!

  • @user-ox9xk5xz3d
    @user-ox9xk5xz3d 3 роки тому +11

    Nice instruction, thank You for review!
    But I see that we need dublicate jobs with the same name in both application (((
    Also I'm not undestand why You don't use Events and Linteners. It has similar realization.

  • @sancakyuksel
    @sancakyuksel 3 роки тому +8

    increase player speed to 1.25 for better understanding :)

  • @TheAmse1
    @TheAmse1 2 роки тому

    Thank you so much for the teaching. I followed all the steps, but no matter what changes I make to the files they are not applied to the container image, what could I be missing?

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

    Thanks a lot,
    Really good explanation 🙏🙏
    I wonder if Laravel sail would be easier?
    Or if i use two separate projects hosted locally using Laragon, which provides .test domain foreach one.

  • @Burak-ls5yd
    @Burak-ls5yd 2 роки тому

    Hello. Thanks for the tutorial. Can I ask which database manager do you use?

  • @AbiodunSam
    @AbiodunSam 4 місяці тому

    Thank you so for this tutorial.
    I have a concern about the way you run the queue work in a separate container. Can't there be a better way to run it in same container?

  • @alexaverkiyev9099
    @alexaverkiyev9099 2 роки тому +2

    Thanks for your time, I've learned a lot, I really appreciate!
    At first glance it looks like two apps have their own purpose and responsibilities, but they still coupled pretty tight, and taking into account that two separate teams could work on each app, I don't see them be tested pretty good, especially update/create methods. Ok you can use DTO for that and write unit tests for DTO, but there's no guaranty that DTO from app1 and app2 will be equally maintained since they don't share unit tests and could be rewritten by one team or another.
    That could lead to the same problem as a monolith code, once your project grows and you have 10+ microservices, changing one will impact on all others because they are coupled quite a lot.
    I think DDD design is better in this way, and microservices could be used with some other example with much less coupling with other apps.

    • @natenatters
      @natenatters 2 роки тому

      Any links you have of videos that teach it this way? So Laravel microservices with closer to DDD architecture? Thanks!

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

    Great tutorial!
    But, how to authorize each API?

  • @ahmednabil2181
    @ahmednabil2181 3 роки тому

    when trying to install rabbitmq package, it says [RuntimeException]
    git was not found in your PATH, skipping source download although git installed on my machine and I use it normally outside docker containers. how to solve this please?
    Os: Windows pro 10

  • @ashique12009
    @ashique12009 2 роки тому

    Thank you for the useful stuff, could you tell us what would be the problem if we do not use RabittMQ?
    We can maintain internal API call from main to admin by hitting an API endpoint normally.
    Thanks again!

    • @foxmeister
      @foxmeister 2 роки тому +3

      Rabbitmq provides asynchronous events, in a microservices architecture you have to keep them separate, and these events help data consistency in databases

  • @kamalCode
    @kamalCode 3 роки тому +1

    Sir, plz suggest advaned Microservice and networking application in laravel reactjs top 5 course.

  • @andreyborenko2210
    @andreyborenko2210 3 роки тому +1

    Could you explain, please, why we're using bindMethod in EventServiceProvider?

    • @ScalableScripts
      @ScalableScripts  3 роки тому +1

      To listen to RabbitMQ events, that is at least the method that I found.

  • @user-hx6sn2sw1g
    @user-hx6sn2sw1g 6 місяців тому

    what about the failed jobs handling or corrupted data inconsistency , how can i make sure every service has the same data as others, if one of my service goes down for a minute how can i prevent data inconsistency when it get up.

  • @gflorin7761
    @gflorin7761 5 місяців тому

    Using the online third party RabbitMQ instance is just for demo purposes, or does this mean it can't work with the RabbitMQ running in a docker container?

  • @renzocastillocaceres
    @renzocastillocaceres 10 місяців тому

    Hi Sir. Thank you very much for this video. I have a question and sorry for my possible ignorance on this matter : " Is the product being saved on both apps or only in admin?". I believe it should only be in one database right?

    • @user-fk2qx9kb4o
      @user-fk2qx9kb4o 9 місяців тому

      exactly this is my qustion why saved product on both ?

  • @47Lancelot
    @47Lancelot 2 роки тому +1

    if you use docker, why not run rabbit in docker ?

  • @idemous
    @idemous 3 роки тому +1

    perche creare 2 applicazioni gemelle con 2mysql image? sucsami ma non l'ho capita

  • @johnrobert6133
    @johnrobert6133 3 роки тому

    What database GUI are you using at 15:12? Thank you!

  • @balrajuppari7185
    @balrajuppari7185 3 роки тому

    how can i get ui source code .Could you please send me link

  • @bashardlaleh2110
    @bashardlaleh2110 2 роки тому +2

    I cloned your project and deleted the bindMethod functions you added in the EventServiceProvider and it still works fine so these bindings are useless

  • @bashardlaleh2110
    @bashardlaleh2110 2 роки тому

    Awesome tutorial thx , but i didn't understand this line
    \App::bindMethod(ProductLiked::class. '@handle', fn($job) => $job->handle());
    what does it do exactly ?

  • @amjadkhan3462
    @amjadkhan3462 3 роки тому

    Really good tutorial ... how I can get the Code

    • @ScalableScripts
      @ScalableScripts  3 роки тому +1

      Here is the code: github.com/scalablescripts/laravel-microservices

  • @umaradilov208
    @umaradilov208 2 роки тому

    In complex applications there would be tons of code. Developing would be horrible. If there is one new feature you have to ensure that all your other services should handle the event.

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

    half of video passed… still waiting when we get to microservices😂

  • @KrishnaManohar8021
    @KrishnaManohar8021 3 роки тому

    Microservices with django and rect

  • @user-vc7wb9uj9z
    @user-vc7wb9uj9z 5 місяців тому

    Unfortunately, this approach will not work if you have some microservices in a different language or framework. Those queues hardly depend on PHP (because they serialize class and then unserialize it on the other side)

  • @kingnayeembd
    @kingnayeembd 11 місяців тому

    i have sent u an email.

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

    Defining "jobs" on both sides is not really how event driven design works no?

    • @vasosulashvili1030
      @vasosulashvili1030 9 місяців тому

      I think it is more logical to assign a listener on the other side, isn't it?

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

    so fuc***g complicated tutorial,he fast move a text editor and viewers didn't no name the file😂😂😂