Skip to content

ftomza/go-qcbalu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-qcbalu

The microservice: "The balance of the user"

Стек технологий.

  • Golang 1.15
  • ent. - Entity framework, обработка и хранение кошелька
  • ampq - Клиент для RabbitMQ
  • zap - Логирование
  • mockery - Mock для тестов
  • testify - Тулкит для тестов

Окружение.

  • docker - среда выполнения инстансов сервиса и вспомогательных сервисов
  • rabbitmq - брокер сообщений
  • postgresql - хранение данных

Сборка и доставка.

  • github actions

Доступ клиентов.

Доступ осуществляется на стандартный порт AMPQ RabbitMQ с аутентификацией и авторизацией RabbitMQ.

Дополнительно

Использование

Сборка:

  • Сервиса: go build -o service ./wallet/service/app.go
  • Клиента: go build -o client ./cmd/client/cmd.go
  • Слушателя: go build -o sub ./cmd/sub/cmd.go
  • Конфигуратор MBS: go build -o config-mbs ./cmd/config_mbs/cmd.go

Конфиг файл сервиса и переменные окружения:

qcb_wallet_config.yaml Дефолтные значения:

node_name: 0                                            #ENV: QCB_WALLET_NODE_NAME
ent_url: postgresql:https://root:[email protected]/qcb_wallet    #ENV: QCB_WALLET_ENT_URL
mbs_url: amqp:https://localhost/qcbalu                        #ENV: QCB_WALLET_MBS_URL
rpc_queue: rpc.wallet.main                              #ENV: QCB_WALLET_RPC_QUEUE
pub_exchange: pub.wallet                                #ENV: QCB_WALLET_PUB_EXCHANGE
mbs_timeout: 10000                                      #ENV: QCB_WALLET_MBS_TIMEOUT

Подготова

  • Создать БД: CREATE DATABASE qcb_wallet
  • Создать VHost RabbitMQ: qcbalu
  • Сконфигурировать VHost RabbitMQ: ./config-mbs, если адрес MBS отличается от дефолтного, то нужно указать параметр: --uri=[Новый адрес]

Запуск сервиса:

QCB_WALLET_NODE_NAME=0 ./service

Для следующих нод запуск аналогичен, только меняем QCB_WALLET_NODE_NAME

Запуск слушателя:

./sub

Если адрес MBS отличается от дефолтного, то нужно указать параметр: --uri=[Новый адрес]

Запуск интерактивного клиента:

./client

Если адрес MBS отличается от дефолтного, то нужно указать параметр: --uri=[Новый адрес]

Запуск клиента и сценарий выполнения команд:

./client < ./cmd/client/commands.txt

About

The microservice: "The balance of the user"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published