Microservices with FastAPI - Full Course

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

КОМЕНТАРІ • 108

  • @ashivnishekhawat6129
    @ashivnishekhawat6129 2 роки тому +28

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

  • @mrCetus
    @mrCetus 2 роки тому +4

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

  • @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!

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

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

  • @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 ua-cam.com/video/3mwWIH33h5s/v-deo.html

  • @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.

  • @darionstewart6237
    @darionstewart6237 6 місяців тому

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

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

    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 6 місяців тому +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!

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

    I really need this! thank you 😆

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

      Don't watch it ua-cam.com/video/3mwWIH33h5s/v-deo.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 🙏🏼🙏🏼

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

    Great explanation 🙌🙌🙌

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

      Don't watch it ua-cam.com/video/3mwWIH33h5s/v-deo.html

  • @xmilad5214
    @xmilad5214 2 роки тому +7

    Microservice with nodejs Pleaseeeee

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

    Thank you very much for the video it was very informative

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

    Thanks so much great explanation

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

      Don't watch it ua-cam.com/video/3mwWIH33h5s/v-deo.html

  • @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 11 місяців тому

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

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

    great content😍

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

      Don't watch it ua-cam.com/video/3mwWIH33h5s/v-deo.html

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

    You Rocks Sir 🤟🔥🔥🤟

  • @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.

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

    Thank you so much 😍👍✌👏🙌😀

  • @williambchoang8487
    @williambchoang8487 2 роки тому +8

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

  • @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.

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

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

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

    awesome sir

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

    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?

  • @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.

    • @mykhailshavkunov7345
      @mykhailshavkunov7345 Рік тому +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 11 місяців тому +1

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

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

    Thank you

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

    Thanks for this

  • @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" UA-cam channel.

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

      @@md-ayaz Thanks!

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

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

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

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

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

    I love this so much

  • @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

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

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

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

    Really it's nice video

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

      ua-cam.com/channels/pobn02bRhvDbiGqlsxts0A.html

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

      I well done

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

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

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

      Don't watch it ua-cam.com/video/3mwWIH33h5s/v-deo.html

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

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

  • @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

  • @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 ua-cam.com/video/3mwWIH33h5s/v-deo.html

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

    Internal request is a bad practice

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

    Good day

  • @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.

  • @RahulDas-nq2iy
    @RahulDas-nq2iy 2 роки тому

    Just wow

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

    My name is Antonio Papa but everybody calls me Antonio

  • @Kanat-b1i
    @Kanat-b1i 10 місяців тому +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 11 місяців тому

      Exactly. Freecodecamp is declining.

    • @kshitijmathur1358
      @kshitijmathur1358 7 місяців тому

      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.

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

    Good

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

    How to use it with RabbitMQ?

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

    😍😍

  • @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)')))

  • @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 ua-cam.com/video/3mwWIH33h5s/v-deo.html

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

      @@taxi_orenburg_ufa_bot karibu kenya

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

    Thanks you very much ❤