@fkocharli

Какой стэк выбрать для микросервисов на Golang?

Добрый день

Я новичек в програмирование хоть с большым опытом в системном администрирование, поэтому прошу простить если мои вопросы окажуться глупыми.

хочу поднять проект с микросервиснов архитектурой на Golang подобный на https://www.tripadvisor.ru.
Первый вопрос заключается в том что какие микросервисы сделать REST или gRPC? или оба в зависимости от самого микросервиса?
Второй вопрос помочь подобрать либы для БД? использоавать ли ORM? хотелось бы узнать про ваш опыт про GORM?
Третий вопрос связан с выбором фреймворка. Прошу помочь с выбором одного из ниже указанных или посоветовать что то другое.
1) написать все самому и использовать только нативные библиотеки языка
2) снова написать все самому но только для роутера использовать Gorilla/Mux.
3) выбрать какой нибудь фреймворк. какой посоветуете? что думаете про Gin или Go Kit?

п.с хотелось бы получить обширный ответ который основанный в личном опыте и будет включать в себя drawback-и с которым сталкивались.
  • Вопрос задан
  • 255 просмотров
Пригласить эксперта
Ответы на вопрос 2
2ord
@2ord
продвинутый чайник
1. Сначала нужно иметь подробное ТЗ с описанием всех функций продукта фронт-офис и минимальный бэк-офис для управления бизнес процессами. Продумать роли пользователей и доступ к разным функциям.
2. Затем нужно построить схему с потоками данных.
3. Построить архитектуру сервисов, разделив их по назначению.
4. Продумать БД, очереди и т.д.
5. Языки и фреймворки выбираются из задачи и различных критериев.
Ответ написан
Color
@Color
Golang SWE, Cloud & DevOps
Если у вас проект чисто на разобраться, то не берите никакие фреймворки, делайте на чистом го + grpc + что-то для вашей бд (для постгреса советую go-pg).

Если же у вас продуктивный проект, то тут уже нужно анализировать реальные бизнес требования, что нужно, почему го, почему микросервисы ну и так далее.
Нельзя просто выбирать технологии "потому что захотелось". У всех есть свои плюсы и минусы и области применения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы