Microservices with FastAPI - Full Course

Поделиться
HTML-код
  • Опубликовано: 2 дек 2024

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

  • @ashivnishekhawat6129
    @ashivnishekhawat6129 2 года назад +29

    Great tutorial. If anyone is having troubles getting the redis account, note that you can also run a local instance using docker.

  • @libbylebyane3681
    @libbylebyane3681 2 года назад +4

    This gave me a solid ground of what Microservices are, heard a lot of explanations and demonstrations but never seen a simple tutorial like this. Thank you!

  • @deltamakuba
    @deltamakuba 2 года назад +22

    Thank you..the timing of this course is great-just finished FastApi course and then this...watching from Nairobi Kenya

    • @taxi_orenburg_ufa_bot
      @taxi_orenburg_ufa_bot 2 года назад +1

      I dream of visiting Kenya soon

    • @sisu007
      @sisu007 2 года назад +3

      me too man...jambo

    • @sanjarproductions
      @sanjarproductions 2 года назад

      Don't watch it ruclips.net/video/3mwWIH33h5s/видео.html

    • @sisu007
      @sisu007 2 года назад

      @@taxi_orenburg_ufa_bot karibu kenya

  • @ParidTvShow1
    @ParidTvShow1 2 года назад +2

    Perfect tutorial.
    The guy who is speaking is 100% Albanian

  • @darionstewart6237
    @darionstewart6237 7 месяцев назад

    Shoutout to you for not giving the same hello world tutorial that every other creator just copied and pasted off of the documentation

  • @raymondmichael4987
    @raymondmichael4987 2 года назад +5

    Thanks guys for this great tutorial, adding authentication service won’t hard I guess.
    Greetings from Tanzania 🇹🇿

    • @sanjarproductions
      @sanjarproductions 2 года назад

      Don't watch it ruclips.net/video/3mwWIH33h5s/видео.html

  • @misc98765
    @misc98765 2 года назад +2

    Thanks

    • @quincylarsonmusic
      @quincylarsonmusic 2 года назад

      Hey, thank you for your donation, Abhinav. It means a lot to us. I hope you have a relaxing weekend.

  • @pankeshpatel6835
    @pankeshpatel6835 2 года назад +14

    Excellent tutorial ! Just a minor comment - you may avoid using port numbers at the frontend, as they may be changed in different deployment scenarios. :). A tool such as nginx may be very handy.

  • @liamlindy
    @liamlindy 11 месяцев назад

    Great high level introduction!

  • @oldstylegaming
    @oldstylegaming Год назад +1

    i must be doing something wrong here but cant figure out what, when i di the initial post request i get an error back in postman "422Unprocessable Entity" like it cant access the fields....

    • @changoviejo9575
      @changoviejo9575 8 месяцев назад +1

      1 year later, I was facing the same problem and changed the redis-om version to the one he's using for the tutorial - 0.0.20, and now it works!

  • @hrushikesh28
    @hrushikesh28 2 года назад +2

    Great explanation 🙌🙌🙌

    • @sanjarproductions
      @sanjarproductions 2 года назад

      Don't watch it ruclips.net/video/3mwWIH33h5s/видео.html

  • @spdlqj011
    @spdlqj011 2 года назад +2

    I really need this! thank you 😆

    • @sanjarproductions
      @sanjarproductions 2 года назад

      Don't watch it ruclips.net/video/3mwWIH33h5s/видео.html

  • @rudra6219
    @rudra6219 2 года назад +1

    Thankyou 😍 and you earned a new subscriber 👥

  • @shinobi77
    @shinobi77 2 года назад +3

    Great tutorial by this guy. I've been following him quite a while, he is awesome.
    One question though
    When you send the order to Redis Stream, you suppose that the other microservice is up and running. In case this process is not running right now and it starts after few seconds, Redis Stream will send whatever in the Stream (the old and new) to this microservice and the microservice will go through all of them again and you will end up having duplicates in your HASH table.
    You should remove whatever was consumed from the Stream so in case of subscribing to it you don't get the whole stream again.
    on the other hand, you can have multiple instances of the "Consume" process in case you have a lot of orders, each instance takes care of one order after another.

    • @hakadmedia
      @hakadmedia 2 года назад

      I like you're forward thinking ability 👏👍

    • @shinobi77
      @shinobi77 2 года назад

      @@hakadmedia thanks 🙏🏼🙏🏼

  • @xmilad5214
    @xmilad5214 2 года назад +7

    Microservice with nodejs Pleaseeeee

  • @Eclipso619
    @Eclipso619 2 года назад

    You Rocks Sir 🤟🔥🔥🤟

  • @travelsbykika915
    @travelsbykika915 2 года назад +1

    great content😍

    • @sanjarproductions
      @sanjarproductions 2 года назад

      Don't watch it ruclips.net/video/3mwWIH33h5s/видео.html

  • @asmaaelalami9831
    @asmaaelalami9831 2 года назад +1

    Thanks so much great explanation

    • @sanjarproductions
      @sanjarproductions 2 года назад

      Don't watch it ruclips.net/video/3mwWIH33h5s/видео.html

  • @НурсултанЭстебесов-ы8ш

    Thank you very much for the video it was very informative

  • @kintag4459
    @kintag4459 2 года назад

    awesome sir

  • @chinwubachukwudi4483
    @chinwubachukwudi4483 2 года назад

    Thanks for this

  • @rickychan1143
    @rickychan1143 2 года назад

    Thanks you very much ❤

  • @ignaciorubio
    @ignaciorubio 2 года назад +3

    Redis group is working here because both services share same DB.
    Which approach should we take with two Redis database for microservice?

    • @lbb2rfarangkiinok
      @lbb2rfarangkiinok 2 года назад +1

      I feel like leaving this step out kind of messes with the logic of the entire tutorial. Learned a lot nevertheless, but would have been nice to have the protect use multiple redis dbs.

    • @ignaciorubio
      @ignaciorubio 2 года назад

      @@lbb2rfarangkiinok yes, it's a well explained course and good vision of microservices

    • @williammuschio9954
      @williammuschio9954 Год назад

      i tried this with 3 redis instance, or you can use mysql for the inventory and the payment and redis for the group

  • @MindphpTube
    @MindphpTube 2 года назад

    Thank you

  • @Tigersoulification
    @Tigersoulification 2 года назад +2

    Excellent tutorial guys. I was trying to keep it up on it but unfortunately I've got stock in the first consumer that comes from inventory. Whenever I sent the redis-stream it serves well the data but for some reason the Product.get() method does not work and tends to dispatch me that the product not exists while is already there. How could I solve that issue?

    • @Tigersoulification
      @Tigersoulification 2 года назад +1

      Just to give an update to anybody could be following this video and make their own project structure. I was practicing with the concept of having all the code inside app directory. Therefore:
      > inventory
      ------> app/
      |---------> main.py
      |---------> consumer.py
      For some reason, it seems that redis_om don't handle properly this type of structure due to the Product import not returning the Product object that I already referring to. I'm not really sure why is but if anybody has already work like this and already made all this tutorial with ease, please, let me know because I would like to understand what are the boundaries to not have the microservice work like that. The workaround that I have to make this work was basically get rid of the subdirectory app and have all the main.py, consumer.py in both microservices at root directory.

    • @adityapunetha6606
      @adityapunetha6606 Год назад

      @@Tigersoulification I'm facing the same problem but do not understand your solution. Could you please explain it. I have both consumer and main within my inventory sub-directory.

  • @tamirtsogbayar3912
    @tamirtsogbayar3912 2 года назад

    I love this so much

  • @patawee313
    @patawee313 2 года назад +2

    Hi, I want to do this project but somehow I stuck at the Front-End part because I've used only Python. Anyone have link for study specific to create the front end part? Thanks

    • @md-ayaz
      @md-ayaz 2 года назад +1

      You can look up javascript and Reactjs tutorials on the "Traversy Media" RUclips channel.

    • @patawee313
      @patawee313 2 года назад

      @@md-ayaz Thanks!

  • @liibaane
    @liibaane 2 года назад

    Really it's nice video

    • @liibaane
      @liibaane 2 года назад

      ruclips.net/channel/UCpobn02bRhvDbiGqlsxts0A

    • @liibaane
      @liibaane 2 года назад

      I well done

  • @svenlampe5715
    @svenlampe5715 Год назад +1

    I can't figure out why I get this FastAPIError: Invalid args for response field! Hint: check that is a valid Pydantic field type. Has anyone an idea?

    • @gracjanchudziak4755
      @gracjanchudziak4755 Год назад

      Create your own pydantic model and from it pass args to the Product model.

    • @blindeveloper
      @blindeveloper Год назад +2

      I had the same issue. You have to install same versions of libs from 4:31. In this case error will not appear.
      you can run this command to do it: pip install --no-cache-dir --upgrade -r requirements.txt

    • @valentina-buoro
      @valentina-buoro Год назад +1

      downgrade the version of pydantic by running pip install pydantic==1.10.13 this worked for me!

  • @mrrishiraj88
    @mrrishiraj88 2 года назад

    Good day

  • @elayechebouchareb3906
    @elayechebouchareb3906 2 года назад

    Thank you for your fabulous work.
    Running in background does not work. I'm behind to make it work.

  • @RahulDas-nq2iy
    @RahulDas-nq2iy 2 года назад

    Just wow

  • @fowobajek
    @fowobajek 11 месяцев назад

    Great tutorial. However when I try to replicate the tutorial on my windows machine, I got the error message "Error loading ASGI app. Could not import module "main"". Pls who can I resolve the error?

  • @arturlinnik2128
    @arturlinnik2128 Год назад

    I thought websockets where used to retrieve information about the pending and completed status and change the frontend instantly

  • @kyky6677
    @kyky6677 2 года назад +6

    Thanks for the effort but I think this is a multiservices app rather than a microservices one. In microservices each service has its own server and its own database, and the biggest challenge in microservices architecture is how to deseign a database when it’s distributed

    • @JoaoZati
      @JoaoZati Год назад

      Ow dont know that...

    • @futhedude4848
      @futhedude4848 Год назад

      in that case, this video is wasted time.

    • @StrategicCIS
      @StrategicCIS Год назад +2

      Beginning at 20:14 (the payment microservice), he explains why he isn't using another database.

  • @NasirulIslamSiat
    @NasirulIslamSiat 2 года назад

    what is the python3 version you are using ? i am on python 3.8.10 and could not install redis-om on my venv
    can anyone help me ?

    • @NasirulIslamSiat
      @NasirulIslamSiat 2 года назад

      @@acardosolima1991 thank you for the info, I resolved the conflict by running the service on docker
      thanks very much

  • @saplay3372
    @saplay3372 2 года назад

    Good

  • @guciojr
    @guciojr 2 года назад

    It would be great to see the jBPM tutorial o your channel :)

  • @williambchoang8487
    @williambchoang8487 2 года назад +8

    DAY 5:PLS DO TENSORFLOW FOR C/C++

  • @preadsy6912
    @preadsy6912 2 года назад

    Thanks a lot bro you are awesome I wish to work as a sector with you can I ??

    • @sanjarproductions
      @sanjarproductions 2 года назад

      Don't watch it ruclips.net/video/3mwWIH33h5s/видео.html

  • @priyankapramanik7955
    @priyankapramanik7955 2 года назад

    hey guys ...could you please make a video on Geoinformatics using python.

    • @sanjarproductions
      @sanjarproductions 2 года назад

      Don't watch it ruclips.net/video/3mwWIH33h5s/видео.html

  • @angejoelziade6920
    @angejoelziade6920 Год назад

    Excuse me but i didn't see where redis is needed.

  • @sushantchaulagain4709
    @sushantchaulagain4709 2 года назад

    😍😍

  • @ignazioolivieri3795
    @ignazioolivieri3795 Год назад

    Good morning, I'm new - I wanted to ask you if it is appropriate to use Redis in case the relational data constantly changes due to the intervention of external users. That is, the tables are in use in real time so I don't know if it is valid to use Redis in this case and I don't know if it is possible to update a Redis register per sub key. Could you help me with a clarification? thanks

  • @rare4847
    @rare4847 2 года назад

    Hello Sir, could you please suggest which programming language should i learn in this year? Thanks

  • @victormendoza9163
    @victormendoza9163 2 года назад

    My name is Antonio Papa but everybody calls me Antonio

  • @pikachu5223
    @pikachu5223 2 года назад +1

    Internal request is a bad practice

  • @a225855305
    @a225855305 2 года назад

    How to use it with RabbitMQ?

  • @Kanat-b1i
    @Kanat-b1i Год назад +1

    Why do you always have tutors with accent?

  • @ehsisthatsweird
    @ehsisthatsweird 2 года назад +28

    Honestly, what is the point of this video? The way you tackle microservices here is not applicable in production, not in the slightest. And during this video author introduces many antipatterns, both python in general, fastapi and architectural. I understand that this video is not designed to be a manual on how to use microservices in production, but even considering that it does more harm than good imo.

    • @adrianlazar2185
      @adrianlazar2185 2 года назад +9

      Completely agree. It doesn't even take into account that it's writing blocking code in async views (using requests instead of something like httpx)

    • @jjackofall
      @jjackofall 2 года назад +3

      @@adrianlazar2185 can you suggest any better video or tutorial?

    • @jjackofall
      @jjackofall 2 года назад

      Please share the source from where I can understand the process.

    • @Jakub1989YTb
      @Jakub1989YTb Год назад

      Exactly. Freecodecamp is declining.

    • @kshitijmathur1358
      @kshitijmathur1358 9 месяцев назад

      finally a relatable comment - also the teacher doesn't explain the async architecture in detail - it's more like a gulp it down rather than develop your intuition.

  • @Siddiskongen
    @Siddiskongen 2 года назад

    looking at this code i realise i still hate python...

  • @carrotdev9208
    @carrotdev9208 2 года назад

    Hello @Team,
    I get this error
    ```
    raise ConnectionError(self._error_message(e))
    redis.exceptions.ConnectionError: Error 111 connecting to localhost:6379. Connection refused.
    ```
    Caused while trying to save to redis, when you comment out the order.save(), there is no error

    • @carrotdev9208
      @carrotdev9208 2 года назад +1

      Found the solution, install redis-server locally and restart your port 8001 sudo apt-get install redis-server 🤣🤣🤣 Happy Coding

    • @amolikvivian
      @amolikvivian 2 года назад +1

      Unfortunately, Redis is not supported on Windows. So if you're on a Windows system, you'll need to have a WSL setup and follow setting up a Redis server through the Linux distro.
      redis.io/docs/getting-started/installation/install-redis-on-windows/

    • @carrotdev9208
      @carrotdev9208 2 года назад

      @@amolikvivian I didn't mention I was using windows 😠😠, I use Ubuntu

    • @amolikvivian
      @amolikvivian 2 года назад

      @@carrotdev9208 my bad

  • @nedupoetry3819
    @nedupoetry3819 2 года назад

    I have followed your procedure, but I keep getting this error
    requests.exceptions.SSLError: HTTPSConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /products/01G9D4114WV4BSPGG5HV2MGKV0 (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1129)')))

  • @josephanolue329
    @josephanolue329 2 года назад

    hi thanks for this beautiful video, i have tried multiple times to connect both microservices but i keep getting this error i am going to post below...
    requests.exceptions.SSLError: HTTPSConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /products/01G9D4114WV4BSPGG5HV2MGKV0 (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1129)')))

  • @mrCetus
    @mrCetus 2 года назад +4

    Thank you..the timing of this course is great-just finished FastApi course and then this...watching from Nairobi Kenya

  • @mahendranath2504
    @mahendranath2504 2 года назад

    Thank you so much 😍👍✌👏🙌😀