Chichichkin / BIP2021

Main repository for our project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Polybay

Main repository for our project

Protoc

Для начала требуется накатить protoc https://github.com/protocolbuffers/protobuf/releases/tag/3.15.0-rc1

После накатки на свою прекрасную шинду добавляем в переменные окружения.

Далее идем в папку вашего компилятора go (например go1.15), и заходим в папочку bin.

Открываем консоль и пишем:

go get google.golang.org/grpc
go get -u github.com/golang/protobuf/protoc-gen-go
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway
go get -u github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger
go get -u github.com/golang/protobuf/protoc-gen-go

Чтоб сгенерить протобаф выполняем bat скрипт.

Проток крут тем, что потом мы сможем устраивать gRPC приколы, а также он позволяет сразу генерировать документацию на сваггере и еще блин API писать. Просто фантастика.

Концепция

Общая концепция архитектуры следующая: мы любим микросервисы и ненавидим их одновременно.

  1. Используем паттерн api-gateway
  2. Наш проект всегда должен быть готов к распилу на микросервисы

Каждое приложение в interrnal/apps должно содержать папочку service - это как раз наш package, который мы всегда готовы отпилить. Взаимодействие с package данного репозитория минимально. Т.е. если требуется использовать какую то структуру, интерфейс и т.п., то мы инитим внутри package service. Есть небольшая затырка с конфигом, а именно, как сделать красивее, но блять 3 ночи и я заебался. В общем переписывание одного и того же кода обусловлено тем, чтобы можно быстрее отпилить пакеты service из всех приложений блин. А сейчас пожалеем нашего DevOpser'a и будем деплоить все в одной репе.

Тут надо запомнить, что в service мы ничего не импортим из вверху лежащих репозиториев. НИЧЕГО!!!! Табу у нас такое

About

Main repository for our project


Languages

Language:Go 100.0%