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
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 🥰
Thank you so much! And best of luck to all of you guys!
thanks for providing such things for free , its a great help for college student .
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!
Exactly! Because these services are small, they do one thing and do it well this structure is perfect.
Hey! can I make a small suggestion, Could you invest on a better mic. The audio is a bit muffled and it's distracting.
Thanks!!
Tiago u are the goat fr, really appreciate this :) !
Thank you❤
The legend does it again
I have to work on my portfolio and God sent me your video
woooowww!! Thanks Tiago!
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.
Nice, really appreciate this !
Happy coding!
This is absolutely amazing. 🎉🎉🎉🎉 love this course
Thank you! I'm glad you like it!
You are a god damn legend, my friend! Ill sub Skool as soon as i can.
Thank you the kind words!
брат, спасибо! крутой видос, много нового подчерпнул для себя
Good job man but question why you don't use grpc gateway package to expose http and grpc in same main
I have to mention that besides those videos being super useful and your explaining everything so well you're VERY handsome.
Thanks! That last part is something I don't hear everyday😅
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,
True, great point!
great content ! i was hoping you would cover authentication ? is that in the plan ?
Yes that is coming in the future! I didn't add it because it's quite easy to do.
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
Thank you so much for the feedback! I'll definitely take those into consideration for future videos!
@@TiagoTaquelim Thanks man! I'm a newer go dev so I really appreciate your work!
❤❤
Could you make a video to share your Vim setups in VSCode?
Hey I don't run VIM on Vscode.
Either case I have my dotfiles with my vscode config in my github.
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!
Its Gruvebox Hard
Thank you for this, any plan to add authentication service and role-based access?
In the future I'll add it yes, as of now it's not in
Booom is here the Go monster 💀
🤣 Leez go 💪
Mantaps
how do you record your voice bro?its so clear and vibrant
Wait really? I thought it was crap because I've been delaying buying a new mic 😅
I just use OBS with some noise filters
Hi Tiago, what is the name of the tool you're using for designing the architecture?.
By the way: Great course, thanks for sharing. ❤
Thank you! It's called Excalidraw!
@@TiagoTaquelim Obrigado Tiago! Estou com uma ligeira sensação que és português, estou errado? 😁
@@dragcartel6493 Sou sim hehe
@@TiagoTaquelim Bom trabalho, continua 👏
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.
Exactly!
@@TiagoTaquelim can you provide the link to the full paid course please?
@@jaymartinez311 It’s the first one in the description of the video
Which tool are you using to design the boxes
Excalidraw
More #Golang content please 🙏🏻 the platform really lacks in that regard compared to other programming languages 🖥️
*Subscribing* ⚡
Thats the goal 💪
@@TiagoTaquelim cheers 🍻
@TiagoTaquelim What software do u use for creating those diagram?
Excalidraww
Great video! What vscode theme is that?
Thanks! Its called Gruvebox
@@TiagoTaquelim Can you link the vscode extension when you get the chance?
@@kdegennaro This one: marketplace.visualstudio.com/items?itemName=tomphilbin.gruvbox-themes
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.
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.
Hey can you tell me it is for beginners who are starting out with microservices with go ?
Hey, if after watching this video you found it ok, then it's ok.
what color schema do you use brother?
Gruvbox
Hey Tiago Is this course relevant to DevOps? I am seeing many company asking for Golang in DevOps
This is not much of a DevOps course. It's more targeted for someone who already knows Go & wants to learn distributed systems.
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
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/
Hi bro, is rate limiting covered in this course? I am planning on purchasing the course.
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.
@@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!
@@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.
5:43 wow thats so real -_-
🤣🤣
I have a question
Whats the total duration of this course and is it completed ?
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.
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.
Lestgoooo FirstComen Shifffuuuu hehehhehe😂
Didn't expect less hahah 💪 Thanks so much!
i cant make gen in common fodler
Exactly what I was waiting for, and more…. Thank you so much for the community 🥹
Awesome! 💪You're welcome!
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.
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?
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.
One of the worst tutorials ever. Incomplete tutorial with unclear voice.