How to design & develop REST microservices in Golang (Go)
What you'll learn
- How to structure and organize your microservice.
- Domain Driven Development.
- Hexagonal architecture applied.
- MySQL integration and configuration.
- Integrate Cassandra DB in your microservices.
- Elasticsearch integration and configuration.
- Logging to standard output and log files.
- DAO pattern implementation.
- How to build, publish and use a custom Go library.
- Testing all the layers of your application.
- How dependencies work in Go.
Requirements
- Just complete the Golang tour available at Golang's website
- Nice to have: Part 1 of this course
Description
Welcome!
In this second part of the series I'm working with MySQL, Cassandra and Elasticsearch as persistence layers and we're going to create 3 different microservices using different design patterns: MVC, featured MVC and Domain Driven Development implementing the Hexagonal architecture.
At the end of the course you'll learn:
How to structure our application's packages and code.
MVC pattern, Domain Driven Development and Hexagonal Architecture applied!
How to configure MySQL client in Go. DAO pattern implemented.
How to configure and use CassandraDB client in Go.
How to configure and use Elasticsearch in Go.
Testing and mocking database integrations.
Stress test the microservice with goroutines.
How dependencies work in Go. Usage of Go modules.
How to build, publish, use and share a custom Go library.
Application design patterns.
Preparing our distributed logging system.
Real life examples and exercises.
I'm sure you're going to enjoy this course! if you have any doubts, please check the reviews on my other courses so you can get an idea about what you're about to get. This is real life and industry experience!
Hope to hear from you!
Fede.
Who this course is for:
- Software engineers.
- Software developers.
- Technical leaders.
- Architects.
- Anyone who wants to get serious about microservices in Go.
Featured review
Instructor
My name is Fede and I'm a Software Engineer from Córdoba, Argentina. I work in IT since 2004, you can always reach me in LinkedIn to see more about me. My day-time job is basically analysis, design and development of real-time and high-performance microservices.
Since I have a lot of experience in these topics and I'm always learning new ways of teaching these new concepts, I can ensure that you'll get the most of them: because I love what I do, because I'm not a fake, because I work with these topics on daily basis I can bet my name on what I know and because I have all of these concepts so deep in my head that I can share them without forcing the process. You will learn a lot, I will learn a lot and we're going to enjoy the journey.
If you have any doubt, take a look at my LinkedIn profile, take a look at my YouTube videos. Make your own search before getting someone who barely knows what he's talking about to teach you wrong concepts.
I'm sure you'll enjoy these courses as much as I've enjoyed working on them. Godspeed!