项目作者: jibitters

项目描述 :
Typical Ticketing System
高级语言: Go
项目地址: git://github.com/jibitters/kiosk.git
创建时间: 2019-11-19T11:01:18Z
项目社区:https://github.com/jibitters/kiosk

开源协议:Apache License 2.0

下载


Kiosk

License
build

A typical ticketing system that is designed for micro services environment with highly scalable and concurrent needs.

How it works

Kiosk designed by scalability and ease of use in mind, so we chose nats as message bus because of its modern distributed
patterns. Every kiosk node listens to all subjects but in queue grouped manner, so the requests will distribute between
different nodes. The message protocol is typical JSON format, so it can be used by all nats clients.

For more information about subject names and request/response models see Wiki pages.

How to test and build

The requirements to test and build the project are as follows:

Requirement Version
go 1.15
postgres 11
nats 2.1

To prepare your environment for next steps first run:

./scripts/setup.sh

To build an executable instance of the project, use:

./scripts/build.sh

To run tests you can use the test.sh script (Ensure Docker is up and running):

./scripts/test.sh

To build a docker image (Images also available on Docker Hub)

docker build -t image:tag .

How to run

./kiosk-linux-[version] --config path/to/kiosk.json starts the project, easily!

See configs/kiosk.json for an example configuration.

Prometheus exporter

This project has prometheus metrics exporter that can be scraped by any prometheus server instance on /v1/metrics endpoint.