F
F
fkocharli2020-06-14 16:04:00
go
fkocharli, 2020-06-14 16:04:00

Which stack to choose for Golang microservices?

Good afternoon

I'm new to programming, although with a lot of experience in system administration, so please forgive me if my questions turn out to be stupid.

I want to raise a project with microservice architecture in Golang similar to https://www.tripadvisor.ru.
The first question is what kind of microservices do REST or gRPC? or both depending on the microservice itself?
The second question to help to pick up for a DB? whether to use ORM? I would like to know about your experience with GORM?
The third question is related to the choice of framework. I ask you to help with the choice of one of the following or advise something else.
1) write everything yourself and use only native language libraries
2) again write everything yourself but only use Gorilla / Mux for the router.
3) choose some kind of framework. which one do you recommend? What do you think about Gin or Go Kit?

ps I would like to receive an extensive answer which is based on personal experience and will include the drawback-and encountered.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
R
Roman Mirilaczvili, 2020-06-14
@2ord

1. First you need to have a detailed TOR describing all the functions of the product front office and a minimum back office for managing business processes. Consider user roles and access to different functions.
2. Then you need to build a diagram with data flows.
3. Build the architecture of services, dividing them according to their purpose.
4. Think over the database, queues, etc.
5. Languages ​​and frameworks are selected from the task and various criteria.

I
Ilya Kaznacheev, 2020-06-18
@Color

If your project is purely for understanding, then do not take any frameworks, do on pure go + grpc + something for your database (I advise go-pg for postgres).
If you have a productive project, then you already need to analyze real business requirements, what is needed, why why, why microservices, and so on.
You can't just choose technologies "because you want to". All have their pros and cons and areas of application.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question