The Complete Microservices Course in Go

Поделиться
HTML-код
  • Опубликовано: 1 авг 2024
  • ► Join & Access the full course: selfmadeengineer.com
    In this course instead of flipping burgers you'll build an Order Management System with microservices in Go.
    This journey will start from a simple service from which we'll build & scale out up to 5 different microservices communicating & working together to finalise the users order ...and we're going to build all of this from scratch...
    🎉 This video is going live in conjunction with our Skool Community, if you are interested in leveling up as a software engineer, check it out: selfmadeengineer.com
    Tip: watch it 1.5x if you want to save time
    0. Getting Started
    00:00:00 Welcome
    00:03:03 Preface for RUclips viewers
    00:05:20 OMS Project Overview
    00:10:54 Introduction & Motivation to use Microservices
    00:18:29 Setting the Stage Why Go
    1. Project Architecture & Design
    00:23:23 Architecting a Scalable Order Management System
    00:32:43 Services Recap
    2. Scaffolding our first Microservice
    00:34:55 Setting Up Your Development Environment & Go Workspaces
    00:40:34 Orders Service Clean & Layered architecture
    00:45:09 Gateway Service
    00:49:55 Commons Package
    00:53:11 Hot Reloading
    3. Service-to-Service Communication
    00:55:00 Understanding Service-to-Service Communication
    00:56:19 Leveraging gRPC for Efficient Intra-Service Communication
    01:20:20: Payload validation
    4. Service Discovery
    01:32:40 Service Discovery
    [Paid Curriculum]
    - Creating the Registry
    - Adopting Service Discovery with Consul
    5. Async Communication with Message Brokers
    - Asynchronous Communication with Message Brokers
    - Connecting to AMQP & Creating the Exchange
    6. The Payment Service
    - Introduction & Setup to the Payment Service
    - Consuming the Order Created Event
    - Integrating Payment Processor Stripe
    - Unit Testing the Payments Service
    - Building the UI and Get Order endpoint
    - Payment Notifications
    - Fanning Out the Order Paid Event
    7. Reliability
    - Implementing Retries & Dead Letter Queues
    8. Observability
    - Intro to Distributed Tracing with OpenTelemetry
    - Setup and Send Telemetry data from the gateway
    - Telemetry Middleware
    - Sending Telemetry though RabbitMQ
    - Structured Logging
    9. Managing Inventory: Stock service
    - Introduction & Setup
    - Order Stock Validations & gRPC Handler
    - Storing Service data with MongoDB
    10. Finishing Order Processing: Kitchens Service
    - Real-Time Order Fulfilment
    And more...
    🙋🏼‍♂️ Socials:
    X: x.com/TiagoFe01662401
    Github: github.com/sikozonpc
    Thank you for watching 💪
    #golang #microservices #go

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

  • @ujangaripin7630
    @ujangaripin7630 13 дней назад +5

    I and 3 other students from the STMIK AMIKBandung campus would like to thank you for this great tutorial, you were very helpful for this 🥰

    • @TiagoTaquelim
      @TiagoTaquelim  13 дней назад

      Thank you so much! And best of luck to all of you guys!

  • @user-lv5il3ko7w
    @user-lv5il3ko7w 2 месяца назад +7

    thanks for providing such things for free , its a great help for college student .

  • @arturfil
    @arturfil 2 месяца назад +8

    Didn't realize but the other tutorial with JWT having all under one repo is structured almost the same where each service is just a route and here each service is just a micro service! Really nice tutorials! Really appreciate the content!

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад +1

      Exactly! Because these services are small, they do one thing and do it well this structure is perfect.

  • @haroonalbar2725
    @haroonalbar2725 Месяц назад +18

    Hey! can I make a small suggestion, Could you invest on a better mic. The audio is a bit muffled and it's distracting.

  • @anashe5417
    @anashe5417 2 месяца назад +2

    Thanks!!

  • @franciscoferreira1800
    @franciscoferreira1800 2 месяца назад +1

    Tiago u are the goat fr, really appreciate this :) !

  • @Tay74514
    @Tay74514 2 месяца назад +1

    Thank you❤

  • @Danishkhan-ni5qf
    @Danishkhan-ni5qf 2 месяца назад +6

    The legend does it again

  • @melromero2665
    @melromero2665 2 месяца назад +8

    I have to work on my portfolio and God sent me your video

  • @stupidfilip23
    @stupidfilip23 2 месяца назад +1

    woooowww!! Thanks Tiago!

  • @bijayaprasadkuikel5162
    @bijayaprasadkuikel5162 25 дней назад +1

    Completing this video i can see that this order service is acting somehow or other as a BFF, but in practical it would have been better if we had multiple services directly accessible by the gateway.
    Great video. Good job.

  • @learnandhavefun3754
    @learnandhavefun3754 2 месяца назад +2

    Nice, really appreciate this !

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

    This is absolutely amazing. 🎉🎉🎉🎉 love this course

  • @gabrielvasconcellos8108
    @gabrielvasconcellos8108 16 дней назад +1

    You are a god damn legend, my friend! Ill sub Skool as soon as i can.

  • @user-cd7mc5uw4u
    @user-cd7mc5uw4u 2 месяца назад +2

    брат, спасибо! крутой видос, много нового подчерпнул для себя

  • @kirakira160
    @kirakira160 2 месяца назад

    Good job man but question why you don't use grpc gateway package to expose http and grpc in same main

  • @cuorecanta
    @cuorecanta 2 месяца назад +2

    I have to mention that besides those videos being super useful and your explaining everything so well you're VERY handsome.

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад +1

      Thanks! That last part is something I don't hear everyday😅

  • @svnlto
    @svnlto 29 дней назад +1

    In the real world, you'd also want to send out an order-created event that locks stock until paid. Otherwise, you might be prone to overselling or running into out-of-stock issues. Otherwise, this is a great intro,

  • @y.m.o6171
    @y.m.o6171 2 месяца назад

    great content ! i was hoping you would cover authentication ? is that in the plan ?

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад +1

      Yes that is coming in the future! I didn't add it because it's quite easy to do.

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

    Such great info! A little slower on some parts and reiteration would be really helpful. I was really glad to see charts and info slides throughout the video. Many vids just frontload info slides, and then the rest of the vid is coding. This format of mixing slides in is much better

    • @TiagoTaquelim
      @TiagoTaquelim  29 дней назад +1

      Thank you so much for the feedback! I'll definitely take those into consideration for future videos!

    • @Bingbong420style
      @Bingbong420style 28 дней назад +1

      @@TiagoTaquelim Thanks man! I'm a newer go dev so I really appreciate your work!

  • @tonhom260
    @tonhom260 2 месяца назад +1

    ❤❤

  • @vutranang8053
    @vutranang8053 2 месяца назад

    Could you make a video to share your Vim setups in VSCode?

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад

      Hey I don't run VIM on Vscode.
      Either case I have my dotfiles with my vscode config in my github.

  • @KiraleosAkis
    @KiraleosAkis 2 месяца назад

    Hey, mind sharing your VS code theme? It looks like a variation of gruvbox, but can you point to the exact theme you use? Thanks!

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

    Thank you for this, any plan to add authentication service and role-based access?

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

      In the future I'll add it yes, as of now it's not in

  • @swapCode
    @swapCode 2 месяца назад +5

    Booom is here the Go monster 💀

  • @salfiyah.gemstore
    @salfiyah.gemstore 2 месяца назад

    Mantaps

  • @abhisekbiswas6149
    @abhisekbiswas6149 2 месяца назад +1

    how do you record your voice bro?its so clear and vibrant

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад

      Wait really? I thought it was crap because I've been delaying buying a new mic 😅
      I just use OBS with some noise filters

  • @dragcartel6493
    @dragcartel6493 2 месяца назад +1

    Hi Tiago, what is the name of the tool you're using for designing the architecture?.
    By the way: Great course, thanks for sharing. ❤

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад +1

      Thank you! It's called Excalidraw!

    • @dragcartel6493
      @dragcartel6493 2 месяца назад +1

      ​@@TiagoTaquelim Obrigado Tiago! Estou com uma ligeira sensação que és português, estou errado? 😁

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад +1

      @@dragcartel6493 Sou sim hehe

    • @dragcartel6493
      @dragcartel6493 2 месяца назад +1

      @@TiagoTaquelim Bom trabalho, continua 👏

  • @chinmayanand896
    @chinmayanand896 2 месяца назад +1

    So this video is basically a demo course for the full-paid course if i am correct? in other words this video is all about the introduction about MS in golang with various tools.

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад

      Exactly!

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

      @@TiagoTaquelim can you provide the link to the full paid course please?

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

      @@jaymartinez311 It’s the first one in the description of the video

  • @chetanrana7778
    @chetanrana7778 2 месяца назад

    Which tool are you using to design the boxes

  • @AchwaqKhalid
    @AchwaqKhalid 2 месяца назад +2

    More #Golang content please 🙏🏻 the platform really lacks in that regard compared to other programming languages 🖥️
    *Subscribing* ⚡

  • @kusumo1920
    @kusumo1920 2 месяца назад

    @TiagoTaquelim What software do u use for creating those diagram?

  • @kdegennaro
    @kdegennaro 2 месяца назад

    Great video! What vscode theme is that?

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад +1

      Thanks! Its called Gruvebox

    • @kdegennaro
      @kdegennaro 2 месяца назад

      @@TiagoTaquelim Can you link the vscode extension when you get the chance?

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад +1

      @@kdegennaro This one: marketplace.visualstudio.com/items?itemName=tomphilbin.gruvbox-themes

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

    Tiago can you release this course on udemy in my country I don't know why I am not able to purchase it I have a Rupay card that won't work. I tried a lot but was still unable to join.

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

      Hey! I've had someone with the same problem. I'm still waiting to see if the platform fixes that. In the meanwhile if you have any other means of payment that the platform accepts try those.

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

    Hey can you tell me it is for beginners who are starting out with microservices with go ?

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

      Hey, if after watching this video you found it ok, then it's ok.

  • @danarghulamsyah4476
    @danarghulamsyah4476 2 месяца назад

    what color schema do you use brother?

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

    Hey Tiago Is this course relevant to DevOps? I am seeing many company asking for Golang in DevOps

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

      This is not much of a DevOps course. It's more targeted for someone who already knows Go & wants to learn distributed systems.

  • @oscar5915
    @oscar5915 2 месяца назад

    Sorry to disturb tiago, i'm your fans, can i ask how to do the spm on jaeger ui? i tried to do it but unable to produce it on the monitor tab in jaeger ui, would really appreciated if could help with configuration

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад

      Hey! I'm not sure as well I haven't tried do it on Jeager UI. Maybe take a look at the official docs here: www.jaegertracing.io/docs/1.57/spm/

  • @chewzixuan429
    @chewzixuan429 2 месяца назад +1

    Hi bro, is rate limiting covered in this course? I am planning on purchasing the course.

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад

      Hey! On this course I haven’t. However it’s pretty simple to add there. In the course I’m currently working there will be.

    • @chewzixuan429
      @chewzixuan429 2 месяца назад

      @@TiagoTaquelim Is it easy to apply whatever you have taught in the latest video into that course? Also, what will the next course be on and what’s the estimated release date? Thanks anyways for all these content!

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад +1

      @@chewzixuan429 Yes it is.
      It will be a in depth back-end web dev course. Probably will be released end of next month/start of next.

  • @sayedulkarim474
    @sayedulkarim474 2 месяца назад +1

    5:43 wow thats so real -_-

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

    I have a question
    Whats the total duration of this course and is it completed ?

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

      Should be around 8-10 hours.
      It's completed all it's missing is the Kubernetes Deployment which is an extra coming in the future. Still considering if it will be a seperate course or not.

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

    this is more of a do this then this then this then an actual instuctional video. I have doubt even he knows what he is doing. Any information he does give is super surface level.

  • @ramdoni3935
    @ramdoni3935 2 месяца назад +1

    Lestgoooo FirstComen Shifffuuuu hehehhehe😂

    • @TiagoTaquelim
      @TiagoTaquelim  2 месяца назад

      Didn't expect less hahah 💪 Thanks so much!

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

    i cant make gen in common fodler

  • @melangabd
    @melangabd 2 месяца назад +2

    Exactly what I was waiting for, and more…. Thank you so much for the community 🥹

  • @danielwilkowski5899
    @danielwilkowski5899 2 месяца назад

    To be honest, that's not really how you build microservices. What this guy explained in the video, is I think what people who know how to build would eventually end up with. If an amateur tries to follow these rules, he will end up with a distributed monolith which doesn't deliver on the promise of microservices. In other words, the autor of this video talks about technicalities and code; but you need more to build a proper microservice.
    To really build microservices, try watching a GOTO conference with Dave Farley and Simon Brown, you won't regret it.

  • @vladislav_artyukhov
    @vladislav_artyukhov 17 часов назад

    Great course! But it is not "Full" on RUclips. But I got very much from it already.
    Sadly, I can pay for your community by the political reason, which leads limitation of transactions 😢
    May be, do you receive crypto currency payments somehow?

    • @TiagoTaquelim
      @TiagoTaquelim  12 часов назад

      I dont accept crypto yet, still gotta learn about it. But hit me up on Discord and I can give a month for free for you to finish.

  • @thianngunsang7157
    @thianngunsang7157 4 дня назад

    One of the worst tutorials ever. Incomplete tutorial with unclear voice.